最近在学习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