wcf 绑定类型

来源:互联网 发布:python模板代码生成器 编辑:程序博客网 时间:2024/05/20 05:03

做个记录

 

wcf 绑定 都引用 System.ServiceModel 命名空间

1 .BasicHttpBinding

     BasicHttpBinding 使用 HTTP 作为传输协议用于发送 SOAP 1.1 消息。 服务可以使用此绑定来公开符合 WS-I BP 1.1 标准的终结点,如 ASMX 客户端访问的终结点。同样,客户端可以使用BasicHttpBinding 与公开符合 WS-I BP 1.1 标准的终结点的服务(如 ASMX Web 服务或采用BasicHttpBinding 配置的 服务)进行通信。

默认情况下,安全性处于禁用状态,但是通过在 BasicHttpBinding(BasicHttpSecurityMode) 构造函数中将 BasicHttpSecurityMode 设置为不同于 None 的值,可以添加安全性。 默认情况下,它使用“Text”消息编码和 UTF-8 文本编码。

 

2. WSHttpBinding

   WSHttpBindingBasicHttpBinding 相似,但是会提供更多的 Web 服务功能。 它使用 HTTP 传输并提供消息安全,这些与 BasicHttpBinding 一样,但是它还提供事务、可靠消息传递和 WS-Addressing,这些功能可在默认情况下启用或通过单一控制设置来提供

 

3.NetMsmqBinding

NetMsmqBinding 绑定通过利用消息队列 (MSMQ) 作为传输来提供队列支持,并且为松耦合应用程序、故障隔离、负载均衡和断开连接的操作提供支持。 有关这些功能的讨论,请参见Queues

这是 提供的系统提供的绑定之一。建议的过程是使用配置值定义绑定而不是使用基于代码的方法,除了必须将配置值设为已初始化的服务的某些高级方案之外。

 

4.NetNamedPipeBinding

默认情况下, NetNamedPipeBinding 会生成一个运行时通信堆栈,该堆栈使用传输安全性和命名管道来进行消息传递,并进行二进制消息编码。 针对计算机上的通信,此绑定是 系统提供的一种对应选项。它还支持事务。

NetNamedPipeBinding 的默认配置与 NetTcpBinding 所提供的配置类似,但前者要简单一些,因为 实现仅适用于计算机上的使用,因此公开的功能就相对较少。 其中最显著的差异在于 SecurityMode 设置只提供 NoneTransport 选项。 不包括 SOAP 安全支持选项。安全行为可通过在 NetNamedPipeBinding(NetNamedPipeSecurityMode) 构造函数中使用可选的 securityMode 参数进行配置。

5.NetPeerTcpBinding

NetPeerTcpBinding 绑定为创建使用 TCP 级别的对等网格基础结构的对等网络应用程序提供支持。

每个 PeerNode 实例均可承载使用此绑定类型定义的多个对等通道。 如果通道工厂是用此类型的已配置实例生成的,则可使用这些通道工厂生成对等通道。对等通道工厂可生成的对等通道包括只可输入通道(实现 IInputChannel)、只可输出通道(实现IOutputChannel)和双工通道(实现IDuplexChannel)。

这是 Windows Communication Framework (WCF) 提供的标准绑定之一。该绑定可以在命令性代码中使用,或在应用程序的相应 XML 配置文件中指定。建议的过程是使用配置值定义绑定而不是使用基于代码的方法,除了必须将配置值设为已初始化的服务的某些高级方案之外。

 

6. NetTcpBinding

默认情况下, NetTcpBinding 会生成一个运行时通信堆栈,该堆栈使用传输安全、用于消息传递的 TCP 和二进制消息编码机制。 此绑定是 系统提供的一个对应选项,用于通过 Intranet 进行通信。

NetTcpBinding 的默认配置比 WSHttpBinding 提供的配置更快,但是只适用于 到 的通信。 安全行为可通过在构造函数中使用可选的 securityMode 参数进行配置。 通过使用可选的reliableSessionEnabled 参数,可以配置 WS-ReliableMessaging 的用法。 但是在默认情况下可靠消息传递为关闭状态。一般来说,HTTP 系统提供的绑定(如WSHttpBindingBasicHttpBinding)是默认配置为打开事项,而NetTcpBinding 绑定是默认配置为关闭事项,因此,您必须选择性加入所需事项才能获取支持,例如获取对一种 WS-* 规范的支持。 这意味着在终结点之间交换消息方面,TCP 的默认配置比 HTTP 绑定的默认配置更快。

7.NetTcpContextBinding

从使用 或更早版本生成的 客户端应用程序中调用使用 .Net Framework 4.0 生成的 服务时,通过 svcutil.exe 或通过从 Visual Studio 添加服务引用生成的配置文件将在绑定配置中包含 contextManagementEnabled 特性。 运行时无法识别此特性,而应用程序将引发ConfigurationErrorsException 并显示消息“无法识别的特性 contextManagementEnabled”。 若要解决此问题,请从绑定配置中移除 contextManagementEnabled 特性。

8.WebHttpBinding

Web 编程模型允许开发人员通过 HTTP 请求(这些请求使用“Plain old XML”(POX) 样式消息,而不是使用基于 SOAP 的消息)来公开 Web 服务。为了让客户端使用 HTTP 请求与服务进行通信,必须使用附加了WebHttpBehaviorWebHttpBinding 对服务的终结点进行配置。 WCF Web 编程模型还要求使用WebGetAttributeWebInvokeAttribute 属性对各个服务操作进行批注。 这定义了从 URI 和 HTTP 方法到服务操作之间的映射,还定义了用于调用操作和返回结果的消息格式。 中的联合支持和 ASP.AJAX 集成都构建于 WCF Web 编程模型之上。

9.WSDualHttpBinding

WSDualHttpBinding 提供与 WSHttpBinding 相同的 Web 服务协议支持,但用于双工协定。 WSDualHttpBinding 仅支持 SOAP 安全,且需要可靠的消息传递。 此绑定要求客户端具有可为服务提供回调终结点的公共 URI。这由ClientBaseAddress 提供。 双向绑定向服务公开客户端的 IP 地址。客户端应使用安全来确保仅连接到自己信任的服务

原创粉丝点击