<ws2007HttpBinding>

定义一个可互操作的绑定,该绑定为正确版本的 SecurityReliableSessionTransactionFlow 绑定元素提供支持。

<system.serviceModel>
  <bindings>
    <ws2007HttpBinding>

<ws2007HttpBinding>
    <binding 
        allowCookies="Boolean"
        bypassProxyOnLocal="Boolean"
        closeTimeout="TimeSpan"
        hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
        maxBufferPoolSize="integer"
        maxReceivedMessageSize="Integer"
        messageEncoding="Text/Mtom" 
                name="string"
        openTimeout="TimeSpan" 
        proxyAddress="URI"
        receiveTimeout="TimeSpan"
        sendTimeout="TimeSpan"
                
textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding"
        transactionFlow="Boolean"
        useDefaultWebProxy="Boolean">
        <reliableSession ordered="Boolean"
           inactivityTimeout="TimeSpan"
           enabled="Boolean" />
        <security mode="Message/None/Transport/TransportWithCredential">
           <transport clientCredentialType="Basic/Certificate/Digest/None/Ntlm/Windows"
                proxyCredentialType="Basic/Digest/None/Ntlm/Windows"
                realm="string" 
                                />
          <message clientCredentialType ="Certificate/IssuedToken/None/UserName/Windows"
           negotiateServiceCredential="Boolean"
           algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/ Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
           establishSecurityContext="Boolean" 
           negotiateServiceCredential="Boolean"/>
        </security>
        <readerQuotas maxDepth="integer" 
           maxStringContentLength="integer"
                      maxArrayLength="integer"
           maxBytesPerRead="integer"
           maxNameTableCharCount="integer" />
    </binding>
</ws2007HttpBinding>

属性和元素

属性

属性 说明

allowCookies

一个值,指示客户端是否接受 cookie 并根据将来的请求对其进行传播。默认值为 false

在与使用 Cookie 的 ASP.NET Web 服务 (ASMX) 进行交互时,可以使用此属性。这确保了服务器返回的 Cookie 会自动复制到客户端今后对该服务的所有请求。

bypassProxyOnLocal

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

closeTimeout

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

hostnameComparisonMode

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

maxBufferPoolSize

此绑定的最大缓冲池大小。默认值为 524,288 字节 (512 × 1,024)。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。如果 useSystemWebProxytrue,则此设置必须为 。默认值为

receiveTimeout

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

sendTimeout

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

textEncoding

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

  • UnicodeFffeTextEncoding:Unicode Big Endian 编码。
  • Utf16TextEncoding:16 位编码。
  • Utf8TextEncoding:8 位编码。

默认值为 Utf8TextEncoding

此属性的类型为 Encoding

transactionFlow

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

useDefaultWebProxy

一个值,指定是否使用系统的自动配置 HTTP 代理。默认值为 true

子元素

元素 说明

<wsHttpBinding> 的 <security>

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

<readerQuotas>

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

<reliableSession> 元素

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

父元素

元素 说明

<bindings>

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

备注

WS2007HttpBinding 会添加与 WSHttpBinding 类似的系统提供的绑定,但使用 ReliableSession、Security 和 TransactionFlow 协议的结构化信息标准促进组织 (OASIS) 标准版本。使用此绑定时无需对对象模型或默认设置进行任何更改。

示例

<configuration>
    <system.ServiceModel>
        <bindings>
            <ws2007HttpBinding>
                <binding name="test"
                    closeTimeout="00:00:10"
                    openTimeout="00:00:20" 
                    receiveTimeout="00:00:30"
                    sendTimeout="00:00:40"
                    bypassProxyOnLocal="false"
                    transactionFlow="false" 
                    hostNameComparisonMode="WeakWildcard"
                    maxMessageSize="1000"
                    messageEncoding="Mtom" 
                    proxyAddress="http://foo/bar"
                    textEncoding="utf-16"
                    useDefaultWebProxy="false">
                    <reliableSession ordered="false"
                         inactivityTimeout="00:02:00"
                         enabled="true" />
                    <security mode="Transport">
                         <transport clientCredentialType="Digest"
                            proxyCredentialType="None"
                            realm="someRealm" />
                         <message clientCredentialType="Windows"
                            negotiateServiceCredential="false"
                            algorithmSuite="Aes128" 
                            defaultProtectionLevel="None" />
                    </security>
                </binding>
           </ws2007HttpBinding>
        </bindings>
    </system.ServiceModel>
</configuration>

另请参见

参考

WS2007HttpBinding
WS2007HttpBindingElement

概念

<binding>

其他资源

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