<wsDualHttpBinding>

定义一个安全可靠且可互操作的绑定,该绑定适合于双工服务约定或通过 SOAP 媒介进行的通信。

<system.serviceModel>
  <bindings>
    <wsDualHttpBinding>

<wsDualHttpBinding>
        <binding name="string"
        closeTimeout="TimeSpan"
        openTimeout="TimeSpan" 
        receiveTimeout="TimeSpan"
        sendTimeout="TimeSpan"
        bypassProxyOnLocal="Boolean"
        clientBaseAddress="URI"
        transactionFlow="Boolean" 
        hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
        maxBufferPoolSize="integer"
        maxReceivedMessageSize="Integer"
        messageEncoding="Text/Mtom" 
        proxyAddress="URI"
                
textEncoding="Unicode/BigEndianUnicode/UTF8"
        useDefaultWebProxy="Boolean">
        <reliableSession ordered="Boolean"
            inactivityTimeout="TimeSpan" />
        <security mode="None/Message">
           <message clientCredentialType="None/Windows/UserName/Certificate/CardSpace"
                negotiateServiceCredential="Boolean"
                    algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15" />
                </security>
        <readerQuotas maxDepth="integer" 
           maxStringContentLength="integer"
           maxByteArrayContentLength="integer"
           maxBytesPerRead="integer"
           maxNameTableCharCount="integer" />
    </binding>
</wsDualHttpBinding>

属性和元素

属性

属性 说明

bypassProxyOnLocal

一个布尔值,指示是否对本地地址不使用代理服务器。默认值为 false

clientBaseAddress

一个 URI,设置客户端为接收来自服务的响应消息而侦听的基址。如果指定了此地址,则此地址(以及每个通道的 GUID)将用于侦听。如果未指定此值,则将以传输特定的方式生成客户端基址。默认值为

closeTimeout

一个 TimeSpan 值,指定为完成关闭操作提供的时间间隔。此值应大于或等于 Zero。默认值为 00:01:00。

hostnameComparisonMode

指定用于分析 URI 的 HTTP 主机名比较模式。此属性的类型为 HostnameComparisonMode,指示在对 URI 进行匹配时,是否使用主机名来访问服务。默认值为 StrongWildcard,表示在匹配过程中忽略主机名。

maxBufferPoolSize

一个整数,指定此绑定的最大缓冲池大小。默认值为 524,288 字节 (512 * 1024)。Windows Communication Foundation (WCF) 的许多部件使用缓冲区。每次使用缓冲区时,创建和销毁它们都将占用大量资源,而缓冲区的垃圾回收过程也是如此。利用缓冲池,可以从缓冲池中获得缓冲区,使用缓冲区,然后在完成工作后将其返回给缓冲池。这样就避免了创建和销毁缓冲区的系统开销。

maxReceivedMessageSize

一个正整数,指定在采用此绑定配置的通道上可以接收的最大消息大小(字节),包括消息头。如果消息超出此限制,则发送方将收到 SOAP 错误。接收方将删除该消息,并在跟踪日志中创建事件项。默认值为 65536。

messageEncoding

定义用于对消息进行编码的编码器。包括以下有效值:

  • Text:使用文本消息编码器。
  • Mtom:使用消息传输组织机制 1.0 (MTOM) 编码器。
  • 默认值为 Text。

此属性的类型为 WSMessageEncoding

name

一个包含绑定的配置名称的字符串。因为此值用作绑定的标识,所以它应该是唯一的。

openTimeout

一个 TimeSpan 值,指定为完成打开操作提供的时间间隔。此值应大于或等于 Zero。默认值为 00:01:00。

proxyAddress

一个指定 HTTP 代理地址的 URI。如果 useDefaultWebProxytrue,则此设置必须为 。默认值为

receiveTimeout

一个 TimeSpan 值,指定为完成接收操作提供的时间间隔。此值应大于或等于 Zero。默认值为 00:01:00。

sendTimeout

一个 TimeSpan 值,指定为完成发送操作提供的时间间隔。此值应大于或等于 Zero。默认值为 00:01:00。

textEncoding

设置要用来在绑定上发出消息的字符集编码。包括以下有效值:

  • BigEndianUnicode:Unicode BigEndian 编码。
  • Unicode:16 位编码。
  • UTF8:8 位编码

默认值为 UTF8。此属性的类型为 Encoding

transactionFlow

一个布尔值,指定绑定是否支持流动 WS-Transactions。默认值为 false

useDefaultWebProxy

一个布尔值,指示是否使用系统的自动配置 HTTP 代理。如果此属性为 true,则代理地址必须为 (即,不设置代理地址)。默认值为 true

子元素

元素 说明

<wsDualHttpBinding> 的 <security>

定义绑定的安全设置。此元素的类型为 WSDualHttpSecurityElement

<readerQuotas>

定义可由采用此绑定配置的终结点进行处理的 SOAP 消息的复杂性约束。此元素的类型为 XmlDictionaryReaderQuotasElement

<reliableSession> 元素

指定是否在通道终结点之间建立可靠会话。

父元素

元素 说明

<bindings>

此元素包含标准绑定和自定义绑定的集合。每一项均由其 name 进行标识。服务通过用 name 与绑定进行链接来使用绑定。

备注

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

此绑定可用于通过一个或多个 SOAP 媒介可靠地进行通信。

默认情况下,此绑定会生成一个运行时堆栈,该堆栈包含 WS-ReliableMessaging 以保证可靠性,包含 WS-Security 以保证消息安全性和进行身份验证,包含 HTTP 以便进行消息传递,并且包含 Text/XML 消息编码功能。

示例

<configuration>
<system.ServiceModel>
<bindings>
<wsDualHttpBinding>
    <binding name="test"
        closeTimeout="00:00:10"
        openTimeout="00:00:20" 
        receiveTimeout="00:00:30"
        sendTimeout="00:00:40"
        bypassProxyOnLocal="false" 
        clientBaseAddress="https://localhost:8001/client/"
        transactionFlow="true" 
        hostNameComparisonMode="WeakWildcard"
        maxReceivedMessageSize="1000"
        messageEncoding="Mtom" 
        proxyAddress="http://foo/bar" 
        textEncoding="utf-16"
        useDefaultWebProxy="false">
        <reliableSession ordered="false"
            inactivityTimeout="00:02:00" />
        <security mode="None">
            <message clientCredentialType="None"
                negotiateServiceCredential="false"
                algorithmSuite="Aes128" />
        </security>
    </binding>
</wsDualHttpBinding>
</bindings>
</system.ServiceModel>
</configuration>

另请参见

参考

WSDualHttpBinding
WSDualHttpBindingElement

概念

<binding>

其他资源

Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients