最近在學習WCF通訊,本身簡單作個實例分享一下,環境是VS2015,使用的項目都是WPF的項目,其實你們用Winform或者Web項目也能夠,均可以用的。html
服務名爲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();
使用瀏覽器訪問該引用服務連接,如出現以下圖相似界面即服務端部署成功。學習
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