假設我已經使用添加服務(在Visual Studio 2008中)從WCF服務(使用wsHttpBinding配置)創建了WCF代理。WCF代理:我是否需要爲每個綁定創建一個新的和不同的代理?
後來我想使用basicHttpBinding,所以我會去改變WCF服務來使用basicHttpBinding。但是WCF代理呢?我可以通過Web.config更改它,還是需要通過添加服務從WCF服務再次創建WCF代理?
感謝
假設我已經使用添加服務(在Visual Studio 2008中)從WCF服務(使用wsHttpBinding配置)創建了WCF代理。WCF代理:我是否需要爲每個綁定創建一個新的和不同的代理?
後來我想使用basicHttpBinding,所以我會去改變WCF服務來使用basicHttpBinding。但是WCF代理呢?我可以通過Web.config更改它,還是需要通過添加服務從WCF服務再次創建WCF代理?
感謝
這取決於:-)
如果你已經全部到位綁定當你周圍的Add Service Reference
第一次,那麼你的客戶端代理配置將包括所有綁定,並你基本上可以不使用任何重新配置或任何東西而從一個使用另一個。每個客戶端的端點(有一個特異的結合)應該有一個名字,這樣你就可以挑選:
MyServiceClient client = new MyServiceClient("endpointname");
但是,如果添加第二個綁定到您的服務已添加服務引用後您的客戶端代碼,然後是 - 您需要升級您的服務參考。爲此,請在客戶端項目的解決方案資源管理器中打開Service References
節點,右鍵單擊您感興趣的服務引用,然後從上下文菜單中選擇Update Service Reference
。
Update Service Reference http://i39.tinypic.com/2zr3uko.png
這將從服務器端下拉約附加綁定和東西任何新的信息,並相應更新您的客戶端配置。
完成之後,您應該在您的配置中擁有多個客戶端端點,並且可以基於客戶端端點名稱創建適合您當前需求的那些端點。
謝謝你的回答。一個澄清。因此,如果我爲Web.config中的WCF服務(在bindings元素下)默認指定了兩個綁定(basicHttpBinding和wsHttpBinding),還需要指定兩個端點還是隻能使用一個端點(並且只是更改其端點綁定屬性到basicHttpBinding或wsHttpBinding在WCF代理而不生成新的代理)? – WCFDeveloper 2010-05-02 13:53:48
如果你在config中這樣做,你必須有兩個端點 - 一個用於basicHttpBinding,另一個用於wsHttpBinding。 – 2010-05-02 14:59:19
好吧,明白了!再次感謝,祝你有美好的一天! :) – WCFDeveloper 2010-05-02 18:29:55