是否可以从Windows CE App / CF 3.5调用 ASP.NET Web API方法



我们正在考虑做一些类似WCF/REST的事情 - 我认为技术[ique,ology]在VS 2008/.NET 3.5中被称为 ADO.NET 数据服务 - 无论如何,类似于从CF 3.5应用程序和桌面.NET 4应用程序接收和传输数据的RESTful,以简化客户端/Windows CE应用程序,以便它简单地发送和接收XML或JSON数据, 而不是连接到远程数据库左右。

但是,根据在 C# 或 ASP.Net 中启动 REST Web 服务的位置:

"WCF 中的 REST 不再受支持 - 现在它指向 ASP"

从同一链接:

"ASP.NET Web API现在是创建RESTful服务Microsoft框架。http://www.asp.net/web-api"

好的,我认为我们可以这样做(WebAPI) - 计划是在IIS中托管服务器/服务;但是:可以从CF 3.5调用 ASP.NET Web API方法吗?有人有这样的例子吗?

只要 CF 3.5 可以发出 http 请求,那么你应该能够进行 rest 调用。在 CF 中查找 HttpWebRequest。

http://msdn.microsoft.com/en-us/library/aa446517.aspx

查看Microsoft的文章调用 WCF 服务。

要创建您的服务,您需要为 .NET Compact Framework 3.5 提供 Power Toys,然后在安装后转身下载新的 NetCFSvcUtil(即直接下载)。

我已经创建了存储在 Windows Mobile 项目的 Services 文件夹中的批处理文件(这样,我就不会丢失它们)。批处理文件如下所示:

** 创建.bat **

NetCFSvcUtil.exe /l:cs /o:Employee.cs /cb:ServiceModelBase http://cpweb2/mainframe/AcpEmployee.svc?wsdl
pause
NetCFSvcUtil.exe /l:cs /o:Packout.cs /cb:ServiceModelBase http://cpweb2/mainframe/AcpPackout.svc?wsdl
pause

这将为我创建 2 个代理文件:一个用于员工,一个用于我的打包服务。它们都创建相同的基本文件 ServiceModelBase,这只是服务引发异常的一种方式。

在步骤之间添加pause使您能够在运行下一个命令之前阅读屏幕上引发的任何错误消息。

最新更新