天天看点

信道

1、信道

信道就是WCF应用程序接收和发送所有信息的通道。它负责在一个持续的方式中准备并传输消息。信道是为传输,协议和消息交换定义的。信道被放到一起来创建信道栈。信道栈是处理消息的分层通信栈。比如,一个信道栈可以由一个TCP传输信道和一个事务协议信道组成。这样的一个信道栈允许使用在网络中的客户端和服务端之间使用TCP协议和事务流转来发送/接收消息。

2、信道栈

信道栈的目标是把一条消息转成与发送方,接收方兼容的线上格式并传输这条消息。有两种类型的信道用来做这个: 传输信道和协议信道。传输信道总是位于信道栈的最底端,它使用一个传输协议来传输消息。

WCF提供了数种传输信道,包括HTTP,TCP,MSMQ,P2P和命名管道。一个信道栈是一系列使用绑定元素配置的信道,信道栈至少有一个传输信道和一个编码信道

信道

3、单向通信模式

用来实现单向通信的两个接口是IOutputChannel和IInputChannel.

信道

4、双工通信模式

IDuplexChannel接口来处理,双工通信的例子是事件提醒系统。服务端将向事件接收端发送事件。客户端提供一个服务端用来发送消息的终结点

信道

5、请求-回复通信

求-回复通信是双向通信的特殊形式,它的每个请求只有一个回复,而且它总是在客户端初始化。在客户端发送一个请求后,它必须在发送另外一个请求前等待一个回复。IRequestChannel和IReplyChannel接口来处理请求-回复通信

信道

6、信道监听器

信道监听器在WCF中形成服务端通信的基础。它们用来监听请求消息,创建信道栈,提供对应用程序栈顶的引用。它们从传输信道或者信道栈中的底层信道接收消息。大部分开发人员不会直接使用信道监听器。他们使用ServiceHost来寄宿服务,ServiceHost使用一个信道监听器来监听消息。

7、信道工厂 

一个信道工厂创建一个发送消息的信道并维护它创建的信道的所有权。大多数开发人员不会直接使用一个信道工厂。对应的,他们会使用一个继承自ClientBase<>的类,通常由svcutil.exe 或者在Visual Studio中添加服务引用生成。

8、

​​信道 ICommunicationObject​​

继续阅读