0

我正在开发一个智能设备应用程序,它将通过 wi-fi 与 wcf 服务进行通信。由于无法将服务引用添加到智能设备项目中,我决定使用 NetCFSvcUtil.exe。一切都很好!

但...

最后我明白了应用程序必须在后台与服务交互。阅读了这篇文章Microsoft .NET Compact Framework 后台处理技术。我决定使用异步 Web 服务调用。在那里http://msdn.microsoft.com/ru-ru/library/aa347733.aspx我找到了 /async 参数,但它似乎不适用于 NetCFSvcUtil.exe。

如何为我的智能设备应用程序获取异步代理?有没有办法生成它,或者我应该用我自己的双手将异步方法添加到接口中?在我的情况下,使用 SvcUtil.exe 生成异步代理可能适合 .Net CF?

4

2 回答 2

0

更多信息,例如您使用哪个平台来构建您的智能手机应用程序,将会很有帮助。

我做过黑莓开发并使用过网络服务。有两种方法可以构建您的 Web 服务

  1. RestFul Service - Web 服务的消费将非常容易。发布数据可能会有点痛苦,因为多部分表单数据在 Wcf - Rest Starter Kit 中作为流发布

  2. Soap 服务 - 如果您决定使用 SOAP,那么对于黑莓和 Android,您必须使用预先验证的 KSOAP -2 在您的应用程序和 Web 服务之间发送和接收肥皂消息。如果您决定使用 KSOAP -2 ,请返回 ASMX 服务。不知何故,WCF 服务不与 KSOAP -2 通信(由于 SOAP 版本或其他东西的变化),而简单的 ASMX 服务工作得非常顺利。您可以使用数十篇文章来学习如何使用 KSOAP

他最初的想法是将其托管在 Windows 服务中...

Windows 服务永远不会面向 Web。如果你想要任何东西是面向网络的,你需要一个网络服务器!

于 2012-06-20T05:38:28.123 回答
0

最后它奏效了。“添加 Web 引用”工具使用 Begin/End 异步方法创建了一个代理,并且该代理通过代理的 URL 属性与由简单控制台应用程序(后来的 Windows 服务)托管的 wcf 服务交互。

于 2012-07-04T06:14:22.590 回答