• WCF绑定细节(1)——概述


    WCF绑定提供了WCF通信的细节。

    (一)绑定元素

    绑定元素(Binding Element)用于为各种类型的信道(Channel)生成信道工厂(Channel Factory)和信道监听器(Channel Listener)以处理传出和传入消息(Message)。

    绑定(Binding)包含绑定元素,一个绑定对象是一个绑定元素对象的有序集合,而这些绑定元素是用来指定WCF通信所用的协议、编码、传输等。

    每一个绑定元素描述一个终结点与其它终结点通信方式的一个方面。下面是绑定层下的各绑定元素的介绍:

     

    选项

    是否必需

    事务流

    TransactionFlowBindingElement

    可靠性

    ReliableSessionBindingElement

    安全性

    对称、非对称、传输级

    形状更改

    CompositeDuplexBindingElement

    传输升级

    SSL 流、Windows 流、对等解析程序

    编码

    文本、二进制、MTOM、自定义

    传输

    TCP、命名管道、HTTPHTTPSMSMQ、自定义

     

    其中,编码层与传输层是必需的。

    绑定元素负责对信道管理器(Channel Manager)的创建。

    (二)信道管理器

    信道管理器(Channel Manager)由绑定元素负责创建,它是信道的创建者。服务端的信道管理器叫做信道监听器(Channel Listener);客户端的信道管理器叫信道工厂。

    信道管理器基类:ChannelManagerBase

    它从CommunicationObject派生,且实现了IDefaultCommunicationTimeouts接口

    public abstract class ChannelManagerBase

    : CommunicationObject,

    IDefaultCommunicationTimeouts

     

    1)服务端的信道监听器

    信道监听器从ChannelListenerBase类派生,

    另外还有接口IChannelListener 还有一个泛型接口IChannelListener<T>

    这两个接口分别有抽象基类:

    ChannelListenerBase

    ChannelListenerBase<T>

    2)客户端的信道工厂

    信道工厂从ChannelFactoryBase 类派生,

    另外还有接口IChannelFactory 还有一个泛型接口IChannelFactory<T>

    两个接口分别有抽象基类:

    ChannelFactoryBase

    ChannelFactoryBase<T>

    信道管理器负责对信道的创建。

    (三)信道

    多个信道(Channel)组成连续的信道栈。信道栈构成了消息(Message)传递的通道。

    接口:IChannel

    定义所有信道对象都必须实现的基本接口。它要求信道对象实现由所有信道对象共享的状态机接口,还要求信道对象实现从信道栈中检索对象的方法。

    这个接口有一个抽象基类:ChannelBase

    因为消息交换模式不同(MEP),有不同的信道接口。

     

    IChannel 由基本消息交换模式的每个关联信道接口继承:

    IInputChannel 用于接收消息。

    IOutputChannel 用于发送消息。

    IRequestChannel 用于发送请求。

    IReplyChannel 用于发送回复。

    IDuplexChannel 用于双向消息传递。

     

     

    更多内容,请见:

    http://www.cnblogs.com/artech/archive/2008/09/22/1295639.html

     

     

  • 相关阅读:
    别忘了调用Page.IsValid
    在网站更新时使用App_Offline.htm
    转:零命令玩转Ubuntu 8.10(Wubi安装图文教程)
    转:画Web流程图的一点心得
    c#点对点聊天程序示例
    c#dns解析示例
    c++输出n以内素数问题(埃拉托色尼筛法)
    c#简单字符操作
    C++简单邮箱问题
    c#广播示例
  • 原文地址:https://www.cnblogs.com/jams742003/p/1688313.html
Copyright © 2020-2023  润新知