1. 程式人生 > >【WCF系列】(四)WCF客戶端怎麽消費服務

【WCF系列】(四)WCF客戶端怎麽消費服務

class fig 完全 文件 自動 客戶 回收 ins 必須

WCF客戶端怎麽消費服務

獲取服務綁定協議、綁定和地址:實現方式

SvcUtil方式:
SvcUtil.exe是一個命令行工具,位於:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin
可以將SvcUtil.exe添加到VS中方便以後的運用

生成代理類:

svcutil net.tcp://192.168.0.100:3333/ChatService /language:C# /out:proxy.cs /config:app.config

  svcutil net.tcp://192.168.0.100:3333/ChatService /a /language:C# /out:proxy.cs /config:app.config

創建一個WCF客戶端對象

WCF客戶端是表示某個WCF服務的一個本地對象,客戶端就是使用這種表示形式與遠程服務端進行通信的。

WCF客戶端類型可以實現目標服務協定,因此在創建一個服務協定並配置正確之後就可以使用這個客戶端對象調用服務端的操作了。

WCF運行時將方法調用轉換為消息,然後將這些消息發送到服務,偵聽回復,並將這些回復的值作為返回值或者OUT/REF方式返回到WCF客戶端對象中。

創建並配置了客戶端對象之後,建議創建一個TRY/CATCH快,如果該對象是本地對象,則以常規方式調用操作,然後關閉WCF客戶端對象。

當客戶端應用程序調用第一個操作時,WCF將自動打開基礎通道,並在回收對象時關閉基礎通道。

禁止使用USING來調用WCF方法。

記得添加引用

調用操作

配置和保護客戶端

服務協定的安全要求已經在服務接口中聲明,並且如果Svcutil已經創建好一個配置文件,則該文件通常會包含一個能夠支持服務安全要求的綁定。但是在一些情況下可能需要更多的安全配置,例如客戶端的憑據就需要特別是定義了。

回調

為雙工服務創建回調對象

雙工服務指定一個回調協定,客戶端應用程序必須實現該協定以便提供一個該服務能夠根據協定要求調用的回調對象。

實現一個回調協定類。

創建回調協定實現類的一個實例,並使用這個實例創建傳遞給WCF客戶端構造函數的InstanceContext對象。

調用操作並處理操作回調。

異步調用服務

如何調用服務端操作完全取決於客戶端開發人員。這是因為當在托管代碼中表示組成操作的消息時,這些消息可以映射到同步或者異步方法中。

因此,如果想要生成異步操作的客戶端,只需要如前面所說增加一個/async參數即可

【WCF系列】(四)WCF客戶端怎麽消費服務