WCF通信簡單學習實例


  最近在學習WCF通信,自己簡單做個實例分享一下,環境是VS2015,使用的項目都是WPF的項目,其實大家用Winform或者Web項目也可以,都可以用的。

一、服務器端

1、創建WCF服務

 

服務名為WCFServer,而后自動生成如下兩個文件,IMyWCFServer為服務契約接口,MyWCFServer為服務契約接口的具體實現。服務契約其實就是聲明了客戶端可以訪問的函數接口。

 

2、聲明服務契約

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 }

 

3、實現服務契約

 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>

 

4、開啟服務

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

 

5、連通性測試

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

 

二、客戶端

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

 

2、調用服務契約函數

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

 

3、運行結果

客戶端出現“Bobbie Hello!”的彈窗,服務端終端打印"111"

 

  以上便是WCF的簡單應用,WCF可以通過簡單的配置和部署就可以實現C/S架構。更復雜的全雙工方式可以看我的另一篇文章:https://www.cnblogs.com/xiaomengshan/p/11175566.html 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM