建立可绑定的WCF通道
二、什么是通道栈
一个通道栈由很多通道(Channels)、通道管理器(ChannelManagers)以及其他完成特殊工作的类,如将字节流转换为消息的类。本文将主要关注一下通道和通道管理器所起的角色。
通道管理器负责建立和维护通道。通道管理器由以下两个部分组成:
1. 通道工厂(ChannelFactories)通过一个客户端通信系统来建立和管理通道。
2. 通道监听器(ChannelListeners)通过一个服务来建立和管理通道。
2. 通道监听器(ChannelListeners)通过一个服务来建立和管理通道。
本文将关注位于WCF内部的服务,因此,我们我们将关注通道监听器和通道栈中的通道在整个系统中的角色。绑定(Bindings)是一些绑字元素的集合。这些绑定元素建立通道监听器,而监听器建立和管理通道。图2详细描述了这些类的关系。

图2
根据微软提供的文档,数据从一个通道到达另一个通道会衰减,而这些会被通道监听器捕获并处理。
在我们讨论通道监听器和通道如何在一起工作并为我们提供通讯服务之前,有一个重要的思想必须理解。一个状态机管理WCF通讯中的所有状态。在状态机中的状态都是可预料的,如Open、Abort、Close等等。所有参与通讯状态机的类都支持ICommunicationObject接口。如果想了解完整的WCF通讯状态机的定义,请参阅相关的WCF文档。
到现在为止,我已经向读者介绍了一个通道栈的组成,下面让我们来看看如何编写代码来控制通道栈。
在我们讨论通道监听器和通道如何在一起工作并为我们提供通讯服务之前,有一个重要的思想必须理解。一个状态机管理WCF通讯中的所有状态。在状态机中的状态都是可预料的,如Open、Abort、Close等等。所有参与通讯状态机的类都支持ICommunicationObject接口。如果想了解完整的WCF通讯状态机的定义,请参阅相关的WCF文档。
到现在为止,我已经向读者介绍了一个通道栈的组成,下面让我们来看看如何编写代码来控制通道栈。
0
相关文章