2014-02-07 32 views
1

某些時候,客戶端不會添加wcf服務引用,而是通過渠道工廠與wcf服務建立連接。當我們使用渠道工廠或添加服務引用時,我想知道詳細信息,然後wcf服務如何在客戶端獲得wcf服務元數據。我搜索谷歌很多知道和深入寫作,但沒有得到一個。所以請將我重定向到正確的文章,詳細討論客戶端的wcf服務發現。渠道工廠如何獲得wcf服務元數據

wcf服務添加參考&通過渠道工廠創建代理有什麼區別?

我想當我們創建wcf代理渠道工廠,然後每當我們運行應用程序,然後每次創建代理。所以我認爲這個過程比添加服務引用慢,因爲當我們添加服務引用時,代理只創建一次。

當我們應該去使用渠道工廠。請告訴我渠道工廠是最佳選擇的情況。謝謝

回答

0

其實沒什麼區別。如果您查看Add Service Reference創建的代碼,您會發現它在內部使用ChannelFactory。

的最佳資源,以瞭解當您使用添加服務引用或手動自己做什麼情況是Miguel Castro's WCF the Manual Way…the Right Way

此外,您還可以閱讀節上的Extending WCF with Custom Behaviors"Adding Behaviors to the Runtime",它解釋了元數據的處理方式。

基本上,當你承載服務時(創建一個ServiceHost,或者明確地通過新建一個ServiceHost,或者當你在IIS中託管你的服務,並且它是由處理.svc文件的IHttpHandler創建的),首先讀取類型尋找屬性),然後是配置文件(web/app.config)。客戶端也是如此,儘管在客戶端的合同界面中註釋並不常見。

+0

何時使用渠道工廠請告訴我正確的情況。謝謝 – Thomas

+0

@Thomas在我看來,使用ChannelFactory總是更好,因爲如果你使用Add Service Reference,就像Miguel Castro解釋的那樣,它增加了很多你可能不需要的東西(比如數據源,很多東西web.config只是作爲一個例子)。 – Rui