WCF第一步

本文是在看了金旭亮老师的WCF之后自己写的,更详细和深入的内容请参照金旭亮老师的博客。

本实例是两个控制台应用程序,服务器端提供一个返回Hello World的服务,客户端调用并打印。

 

1. 首先建立两个控制台应用程序,Hello Client 和 Hello Server(最好在同一项目解决方案中,方便管理),对他们两个项目都添加System.ServiceModel的引用。

2. 构造服务器端的服务,首先构造服务器端的契约,用一个接口来实现,代码如下。文件名为IHelloService.cs,ServiceContract和OperationContract以Attribute方式声明契约,契约对象和契约的操作。对于契约的理解请参考如下网址:

http://apps.hi.baidu.com/share/detail/15073039

 

然后在服务器端写一个实现契约的提供服务的类,此类的对象实现具体的服务,简单说就是当客户端请求服务时,服务对象被创建并提供服务,代码如下:

 

完成之后在服务器端的主函数中来创建服务对象,服务对象由服务宿主。每个服务宿主对象ServiceHost对应一个服务,当客户端发送请求指示,服务宿主创建服务对象。然后通过添加服务终结点监听端口,等待客户端请求。其中new BasicHttpBinding()表示创建一个基本绑定,绑定在WCF中定义了客户端如何同服务器端通信,比如传输协议,消息编码。代码如下:

 

3. 创建客户端对象,调用服务。将IHelloService.cs对象复制到HelloClient项目下,并在项目中引用HelloServer的命名空间,以使用IHelloService契约。客户端的所有代码如下:

 

客户端需要是一个服务代理对象来调用服务,服务代理对象由通道工厂ChannelFactory创建。通过服务代理类调用服务器端提供的服务。

 

再次声明本文是基本上按照金旭亮老师的教程来写的,如果大家想进一步了解,请访问金旭亮老师的blog。

 

具体源码从这里下载:

http://download.csdn.net/source/2995472

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值