WCF通信简单学习实例
程序员文章站
2023-11-03 18:02:22
最近在学习WCF通信,自己简单做个实例分享一下,环境是VS2015,使用的项目都是WPF的项目,其实大家用Winform或者Web项目也可以,都可以用的。 一、服务器端 1、创建WCF服务 服务名为WCFServer,而后自动生成如下两个文件,IMyWCFServer为服务契约接口,MyWCFSer ......
最近在学习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、连通性测试
使用浏览器访问该引用服务链接,如出现如下图类似界面即服务端部署成功。
二、客户端
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架构。
上一篇: 使用Dapper查询记录是否存在