2013-10-07 92 views
0

我們正在考慮做類似WCF/REST的事情 - 我認爲技術[iqueology]在VS 2008/.NET 3.5中被稱爲ADO.NET數據服務 - 無論如何,就像RESTful接收和傳輸來自CF 3.5應用程序和桌面.NET 4應用程序來簡化客戶端/ Windows CE應用程序,以便它只發送和接收XML或JSON數據,而不是連接到遠程數據庫等等。可以通過Windows CE應用程序/ CF 3.5調用ASP.NET Web API方法嗎?

然而,根據Where to start REST web service in C# or ASP.Net

「REST在WCF不再支持 - 現在它指向ASP」

從相同的鏈接:

「的ASP.NET Web API是現在微軟框架來創建RESTful服務 http://www.asp.net/web-api

好吧,我想我們可以做到這一點(的WebAPI) - 該計劃是舉辦在IIS服務器/服務。但是:可以從CF 3.5調用ASP.NET Web API方法嗎?有人有這樣的例子嗎?

回答

1

看看微軟的文章Calling WCF Services

要創建您的服務,您需要登錄Power Toys for .NET Compact Framework 3.5,然後在將其安裝到Download the New NetCFSvcUtil(即直接下載)後轉過來。

我創建的批處理文件存儲在我的Windows Mobile項目的Services文件夾中(這樣我就不會丟失它們)。該批處理文件是這樣的:

** ** create.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個代理文件:一個用於員工和一個我Packout服務。他們都創建了相同的基本文件ServiceModelBase,這只是服務拋出異常的一種方式。

在步驟之間添加pause使您能夠在運行下一個命令之前讀取屏幕上拋出的任何錯誤消息。

+2

如果您要開展REST服務,則不需要任何此類功能。 WCF有大量的開銷,這對於REST調用並不是必需的。而且由於你只是在CF中做一個REST客戶端,所以繞過這個WCF技術的開銷會小得多。如果你喜歡蠕蟲的話,可以去WCF。我已經完成了超過5年的WCF服務和客戶端,頭痛後頭疼。在客戶端或服務配置文件中只有一個設置不當的設置,並且你死在水中。只要我的.02 – dvallejo

+0

我不是罐頭蠕蟲的愛好者,除非凍幹,粉碎,並用千分之一的混合物與巧克力作爲基本成分。即使那樣,我可以拿走他們或離開他們。所以,我確實在我的3.5項目中找到了可以免費使用的HttpWebRequest,所以希望這樣可以很好用。 –

+0

不用擔心,根據你明顯的答案,我以爲你要去WCF路線。 – dvallejo

相關問題