文章目錄
- 1、設定檔:
- 2、程式商務邏輯:
- 3、測試本地WCF服務:
使用.net 2.0調用遠程WCF服務,即把WCF服務當成一個web service服務來調用。但是因為WCF封裝問題,特別是發布到遠程伺服器上的WCF,使用用戶端調用還真出現不少問題。
下面用三個方面來闡述這個問題:WCF服務端、產生用戶端代理檔案、出現的問題
一、WCF服務端
因為使用的是2.0調用WCF服務,所以把binding配置成basicHttpBinding,即使用簡單的HTTP協議進行服務調用。
1、設定檔:
把WCF配置成相應的binding,在發布前可先不管地址問題
<system.serviceModel><services> <service behaviorConfiguration="NWS.WCFService.Service1Behavior" name="NWS.WCFService.NWSService"> <host> <baseAddresses> <add baseAddress="http://localhost:5678/NWSService.svc" /> </baseAddresses> </host> <endpoint address="" binding="basicHttpBinding" contract="NWS.Interface.INWSService"> <identity> <dns value="localhost" /> </identity> </endpoint> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services><behaviors><serviceBehaviors><behavior name="NWS.WCFService.Service1Behavior"><!-- 為避免泄漏中繼資料資訊,請在部署前將以下值設定為 false 並刪除上面的中繼資料終結點--><serviceMetadata httpGetEnabled="true"/><!-- 要接收故障異常詳細資料以進行調試,請將以下值設定為 true。在部署前設定為 false 以避免泄漏異常資訊--><serviceDebug includeExceptionDetailInFaults="false"/></behavior></serviceBehaviors></behaviors></system.serviceModel>
2、程式商務邏輯:
這裡省略,可自己想像一個業務需求,假如一個下載設定檔的需求,方法名為DownloadConfig()
3、測試本地WCF服務:
使用WCFTestClient工具。
VS命令提示工具(2008以上),輸入:
這時會彈出WCF用戶端測試載入器
使用VS內建的測試載入器,將能快速高效的完成WCF服務的測試。
二、組建代理程式類1、wsdl產生
開啟visual studio 2008 命令提示工具,定位到放置代理類檔案的路徑,在本例中使用的是d盤。
輸入以下命令:
wsdl http://localhost:5678/networkspeedservice.svc?wsdl
系統提示正在寫入檔案,如。
其實這個方法產生的代理類,將以webservice的SOAP協議去請求WCF服務,所以WCF只能使用的協議是basic模式。但這個在.net 2.0的應用程式開發過程中,卻是很有用的一種辦法。
2、svcutil產生WCF用戶端代理類與設定檔
除了使用基本的WSDL的方式訪問WCF服務外,.NET 3.0以上的應用程式,可以使用svcutil的命令產生WCF用戶端調用代理,並會產生一個設定檔。
把產生的代理類融入項目中即可調用WCF服務了。
三、出現的問題
額,因為這草稿放好幾年了,忘了這邊有什麼問題了。等想起來再補上吧。