自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

六步驟打造WCF客戶端

開發(fā) 開發(fā)工具
我們在這篇文章中將會通過六個步驟分別為大家介紹一下WCF客戶端的創(chuàng)建方法,希望初學(xué)者們可以通過本文介紹的內(nèi)容獲得一些幫助。

WCF應(yīng)用方法比較靈活,它可以幫助開發(fā)人員輕松打造一個跨平臺的可依賴性的解決方案。那么如何才能正確的使用WCF開發(fā)呢?在這里我們將會為大家詳細(xì)介紹一下WCF客戶端的一些創(chuàng)建步驟。#t#

在這里我就用一個據(jù)于一個簡單的場景:服務(wù)端為客服端提供獲取客戶信息的一個接口讀取客戶信息,來完成WCF開發(fā)入門的六個步驟。

WCF客戶端創(chuàng)建步驟1. 定義WCF服務(wù)契約

A. 項目引用節(jié)點右鍵添加System.ServiceModel引用。

B. 在代碼文件里,添加以下命名空間的引用

using System.ServiceModel;

using System;

C. 新建一個命為ICustomerService 接口,并添加一個獲取客戶信息的方法定義名為CustomerInfomation,返回字符串類型的客戶信息。

D. 為接口ICustomerService添加ServiceContract的屬性修飾使它成為WCF服務(wù)中公開的接口。

E. 為方法CustomerInfomation添加OperationContract的屬性修飾使它成為WCF服務(wù)公開接口中公開的成員。

F. 代碼:

  1. using System;  
  2. using System.ServiceModel;  
  3.  namespace ConWCF  
  4. { [ServiceContract(Namespace = 
    "http://Microsoft.ServiceModel.Samples")]  
  5. public interface CustomerService  
  6. {   
  7. [OperationContract]  
  8. String CustomerInformation();  
  9. }  

 

 

 

WCF客戶端創(chuàng)建步驟2. 實現(xiàn)WCF服務(wù)契約

實現(xiàn)WCF服務(wù)契約很簡單,就是實現(xiàn)上一步聚定義的WCF服務(wù)契約定義的接口就可以。下面看代碼

  1. using System;  
  2. using System.ServiceModel;  
  3. namespace ConWCF  
  4. { [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]  
  5. public interface ICustomerService  
  6. {   
  7. [OperationContract]  
  8. String CustomerInformation();  
  9. }  
  10. public class CustomerService:ICustomerService  
  11. {  
  12. #region ICustomerService 成員  
  13.  public string CustomerInformation()  
  14. {  
  15. return "這是客戶的信息!";  
  16. }  
  17. #endregion  
  18. }  

 

 

WCF客戶端創(chuàng)建步驟3. 啟動WCF服務(wù)

A.添加一個應(yīng)用程序配置文件,文件件名為App.config。

B.配置WCF服務(wù)的基本地址,如下所示

 

  1. < host> 
  2. < baseAddresses> 
  3. < addbaseAddressaddbaseAddress="http://localhost:8000/conwcfr"/> 
  4. < /baseAddresses> 
  5. < /host> 

 

C.配置WCF服務(wù)的端口。Address=“”,意思就是使用上面配置的基本地址,當(dāng)然也可以在這里指定。Bingding=“wsHttpBinding”,意思是WCF服務(wù)使用的是HTTP協(xié)議。再接下來就是配置WCF服務(wù)契約了(命名空間.服務(wù)契約接口名),如下所示:

 

  1. < endpointaddressendpointaddress="" 
  2. binding="wsHttpBinding" 
  3. contract="ConWCF.ICustomerService" /> 

 

D.配置文件

E.啟動服服就簡單了

 

  1. ServiceHost host = new ServiceHost(typeof(CustomerService));  
  2. host.Open();  
  3. Console.WriteLine("客戶信息服務(wù)已啟動");  
  4. Console.WriteLine("按任意鍵結(jié)束服務(wù)!");  
  5. Console.Read();  
  6. host.Close(); 

 

F.當(dāng)服務(wù)啟動時,在IE欄中輸入: http://localhost:8000/conwcfr,將會收到一些幫助的提示信息。

G.異常:配置文件中的服務(wù)名稱一定是:命名空間.實現(xiàn)WCF服務(wù)契約類的名稱,否則將會發(fā)生找到不配置的異常。

WCF客戶端創(chuàng)建步驟4. 創(chuàng)建一個基本的WCF客服端

WCF服務(wù)端創(chuàng)建好啊,創(chuàng)建客戶端就容易多了,直接用SVCUTIL 命令行工具去完成代碼的生成。我安裝了WINDOWS SDK,其帶了一個CMDShell 命令行工具,打開后就可以運行SVCUTIL命令,這個命令是運行于 framework 3.0以上環(huán)境。查看詳細(xì)幫助信息可以輸入:svcutil /?,回車。

1. 啟動上幾步驟創(chuàng)建好的WCF服務(wù)端。

2. 在CMDShell工具中用CD 轉(zhuǎn)到你要存放客戶端代碼的目錄下,輸入以下命令生成代碼和配置文件。

WCF客戶端創(chuàng)建步驟5. WCF客服端基本配置

WCF客戶端配置就是配置調(diào)用WCF服務(wù)端的協(xié)議,輸傳寬帶,服務(wù)地址,安全等等信息。下面就上一步驟命令自動生成的配置文件。

  1. < ?xml version="1.0" encoding="utf-8"?> 
  2. < configuration> 
  3. < system.serviceModel> 
  4. < bindings> 
  5. < wsHttpBinding> 
  6. < binding name="WSHttpBinding_ICustomerService" closeTimeout="00:01:00" 
  7. openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
  8. bypassProxyOnLocal="false" transactionFlow="false" 
    hostNameComparisonMode="StrongWildcard" 
  9. maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
  10. messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" 
  11. allowCookies="false"> 
  12. < readerQuotas maxDepth="32" maxStringContentLength="8192" 
    maxArrayLength="16384" 
  13. maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
  14. < reliableSession ordered="true" inactivityTimeout="00:10:00" 
  15. enabled="false" /> 
  16. < security mode="Message"> 
  17. < transport clientCredentialType="Windows" proxyCredentialType="None" 
  18. realm="" /> 
  19. < message clientCredentialType="Windows" negotiateServiceCredential="true" 
  20. algorithmSuite="Default" establishSecurityContext="true" /> 
  21. < /security> 
  22. < /binding> 
  23. < /wsHttpBinding> 
  24. < /bindings> 
  25. < client> 
  26. < endpoint address="http://localhost:8000/conwcfr" binding="wsHttpBinding" 
  27. bindingConfiguration="WSHttpBinding_ICustomerService" 
    contract="ICustomerService" 
  28. name="WSHttpBinding_ICustomerService"> 
  29. < identity> 
  30. < userPrincipalName value="30DA1D0B1D1E4D2\Administrator" /> 
  31. < /identity> 
  32. < /endpoint> 
  33. < /client> 
  34. < /system.serviceModel> 
  35. < /configuration> 

 

 

WCF客戶端創(chuàng)建步驟6. 使用WCF客戶端

在客戶端項目中項目引用節(jié)點右鍵添加System.ServiceModel引用. 添加第四部中創(chuàng)建的客戶端代碼文件和配置文件。 客戶端調(diào)用服務(wù)端的服務(wù),只要創(chuàng)建生成客戶端類的實例就可調(diào)用了,但要確認(rèn)服務(wù)端正在起用狀態(tài),如下

 

  1. using System;  
  2. namespace ConWCFCustomerClient  
  3. {  
  4. class Program  
  5. {  
  6. static void Main(string[] args)  
  7. {   
  8. CustomerServiceClient client = new CustomerServiceClient();  
  9. string message=client.CustomerInformation();  
  10. Console.WriteLine(message);  
  11. Console.Read();  
  12. }  
  13. }  
  14. }  

 

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-02-22 09:38:22

WCF開發(fā)

2010-02-23 14:03:53

WCF契約回調(diào)

2010-09-25 16:32:13

企業(yè)風(fēng)險管理安全管理

2012-05-04 10:07:56

2010-09-24 15:50:03

2021-11-15 23:44:56

網(wǎng)絡(luò)安全零信任隱私

2009-12-22 10:29:59

WCF客戶端處理

2012-09-21 15:23:27

Java項目Java開發(fā)

2010-02-26 16:16:15

2009-12-21 10:00:46

WCF基礎(chǔ)開發(fā)

2009-11-05 13:00:25

WCF客戶端

2009-12-07 18:26:36

WCF客戶端

2009-12-22 18:18:11

WCF客戶端編程

2013-10-09 10:07:01

PS設(shè)計

2009-12-08 16:47:06

WCF IP

2010-02-25 16:20:02

WCF客戶端

2010-02-23 09:58:21

WCF客戶端驗證

2010-02-24 16:39:27

WCF客戶端處理

2010-07-09 12:08:36

設(shè)置SNMP協(xié)議

2009-09-09 09:46:00

MyEclipse配置
點贊
收藏

51CTO技術(shù)棧公眾號