WCF编程之契约

什么是契约?
是用一种与平台无关的标准语法来描述WCF服务的功能。
当客户端获取服务端WCF服务的时候,会根据服务端声明的契约生成客户端契约的复本,客户端和服务端通过契约来实现沟通。
我们的应用程序是利用各种契约(也译作“协定”)来直接通讯的,各种底层技术也是被契约封装起来的。因此,契约是WCF 中最重要的概念。
 
WCF服务契约
服务契约描述服务所实现的功能和操作。
对于我们要公开的服务我们可以在接口上加上标识ServiceContract 来声明它是一个服务契约。
IHelloService.cs:
namespace WCFServer
{
    // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IHelloService”。
    [ServiceContract] //服务契约
    public interface IHelloService
    {
        [OperationContract] //契约公布的方法
        void DoWork();
    }
}
 
 
 
单工模式
 
所谓单工操作,是指只要服务器端接受到了请求,就立即发回一个完成的提示,客户端无需等待方法执行完,只需要知道这个调用已经被服务器端接受了就可以了。
以下就是一个单工操作的服务契约——注意单工操作的声明是在方法上,而不是在接口上:
public interface IHelloService
    {
        [OperationContract(IsOneWay=true)] //契约公布的方法
        void DoWork();
    }
}
 
 
双工模式
 
到目前为止,我们接触到的数据请求都是基于客户端和服务器的,请求由客户端发起,服务器端得到请求之后进行相应。但是有一些情况,我们需要让服务器发起请求,对客户端进行调用,该如何实现呢?
在WCF 中,内建了一种叫做双工模式的操作方式,一旦建立了连接管道,就可以由服务端和客户端互相发起请求。
 
 
服务契约描述服务所实现的功能和操作。对于我们要公开的服务我们可以在接口上加上标识ServiceContract 来声明它是一个服务契约。
双工:也叫全双工,好比手机通话,双方可以同时说话,也就是发送数据。
请求/应答:也叫半双工,好比对讲机,一个时刻,只能有一方说法,也就是特定时刻只有一方可以发送消息。
单向:也叫数据报 方式,就是发送消息后不管,常见的就是 打印机,数据发送给打印机以后,我就不需要打印机给我回复了。数据一直是一个方向发送的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值