2011-02-17 55 views
3

可能缺少一些非常基本的東西。我創建了一個WCF 4.0 Rest服務。當我從瀏覽器點擊網址時,它沒有任何問題,我正在恢復想要的內容。公開WCF 4.0其餘模板服務的元數據

但現在我想使用該服務從客戶端MVC應用程序(它也將被其他非.NET平臺,這就是爲什麼它擺在首位休息服務)。

問題是如何獲得服務引用,以便我可以開始在我的C#代碼中使用它?使用新的最小WCF .net 4配置方法,並且沒有服務合同的接口,我不知道如何指定mex端點。最終,我不希望在開發過程中使用mex端點進行生產。我希望能夠指定我的所有服務(在一個應用程序中大約有10個)具有端點,只有一小部分配置,vs2010 .config轉換在我發佈時就會崩潰。

回答

14

Stop。 REST服務不使用元數據。元數據(Mex端點)僅用於SOAP服務,因爲WSDL 1.1(WCF的唯一version supported)僅能夠描述SOAP服務。 WADL或WSDL 2.0能夠描述REST服務,但WCF當前不支持它們。

REST服務直接利用WebRequest或通過在共享合同的頂部構建ChannelFactory消耗。這兩種方法都被描述爲here。其他方法是從REST Starter kit(前API)使用HttpClient。入門套件的問題在於它從未達到RTM(它被WCF 4所取代)。代替元數據端點WCF 4 REST服務提供了help page,其中描述了所有操作。當使用WCF 4 REST模板時,幫助頁面應該已經打開 - 只需添加/幫助sufix即可解析您的服務。關於構建REST客戶端的Here is another article

+0

謝謝,自從我發佈我已經看過並閱讀了很多文章。我有點困惑的部分是每個人都通過點擊Url來使用WCF數據服務(不是REST?),然後通過Add Service Reference生成一個客戶端。 – 2011-02-18 00:29:18