WCF通訊簡單學習實例

  最近在學習WCF通訊,本身簡單作個實例分享一下,環境是VS2015,使用的項目都是WPF的項目,其實你們用Winform或者Web項目也能夠,均可以用的。html

1、服務器端

一、建立WCF服務

 

服務名爲WCFServer,然後自動生成以下兩個文件,IMyWCFServer爲服務契約接口,MyWCFServer爲服務契約接口的具體實現。服務契約其實就是聲明瞭客戶端能夠訪問的函數接口。瀏覽器

 

二、聲明服務契約

IMyWCFService代碼:服務器

 1 namespace WCFServer
 2 {
 3     // 注意: 使用「重構」菜單上的「重命名」命令,能夠同時更改代碼和配置文件中的接口名「IMyWCFService」。
 4     [ServiceContract]
 5     public interface IMyWCFService
 6     {
 7         //聲明服務契約的接口函數
 8 
 9         [OperationContract]
10         void DoWork();
11 
12         [OperationContract]
13         string GetSomeData(string name);
14     }
15 }

 

三、實現服務契約

 MyWCFSerivice代碼:架構

 1 namespace WCFServer
 2 {
 3     // 注意: 使用「重構」菜單上的「重命名」命令,能夠同時更改代碼和配置文件中的類名「MyWCFService」。
 4     public class MyWCFService : IMyWCFService
 5     {
 6         public void DoWork()
 7         {
 8             Console.Write("111");
 9             Console.Read();
10         }
11         public string GetSomeData(string name)
12         {
13             return name + " Hello!";
14         }
15     }
16 }

 

App.config配置文件會自動生成以下代碼:函數

 1 <system.serviceModel>
 2         <bindings>
 3             <basicHttpBinding>
 4                 <binding name="BasicHttpBinding_IMyWCFService" />
 5             </basicHttpBinding>
 6         </bindings>
 7         <client>
 8             <endpoint address="http://localhost:8733/Design_Time_Addresses/WCFServer/MyWCFService/"  //引用服務的連接
 9                 binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyWCFService"
10                 contract="MyWCF.IMyWCFService" name="BasicHttpBinding_IMyWCFService" />
11         </client>
12 </system.serviceModel>

 

四、開啓服務

ServiceHost host = new ServiceHost(typeof(MyWCFService));
host.Open();

 

五、連通性測試

使用瀏覽器訪問該引用服務連接,如出現以下圖相似界面即服務端部署成功。學習

 

2、客戶端

一、客戶端添加WCF服務引用

 

二、調用服務契約函數

1 //建立WCF服務引用的實例
2 WCFClient.MyWCF.MyWCFServiceClient W = new MyWCFServiceClient(); 
3 //調用服務契約聲明的接口
4 W.DoWork();
5 string msg = W.GetSomeData("Bobbie");
6 MessageBox.Show(msg);

 

三、運行結果

客戶端出現「Bobbie Hello!」的彈窗,服務端終端打印"111"測試

 

  以上即是WCF的簡單應用,WCF能夠經過簡單的配置和部署就能夠實現C/S架構。更復雜的全雙工方式能夠看個人另外一篇文章:http://www.javashuo.com/article/p-dpxrqbgy-bu.html spa

相關文章
相關標籤/搜索