共用方式為


<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 並在未來的要求傳播 Cookie 的值。預設為 false

當您與使用 Cookie 的 ASP.NET Web 服務 (ASMX) 互動時,可以使用這個屬性。這可確保伺服器傳回的 Cookie 一定會自動複製到該服務未來所有的用戶端要求。

bypassProxyOnLocal

一個指出本機位址是否略過 Proxy 伺服器的值。預設為 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:使用 Message Transmission Organization Mechanism 1.0 (MTOM) 編碼器。

預設為 Text

此屬性的型別為 WSMessageEncoding

name

繫結的組態名稱。這個值應該是唯一的,因為它會當做繫結的識別使用。

openTimeout

TimeSpan 值,指定提供用來讓開啟作業完成的時間間隔。這個值應該大於或等於 Zero。預設為 00:01:00。

proxyAddress

指定 HTTP Proxy 位址的 URI。如果 useSystemWebProxytrue,則這項設定必須為 null。預設為 null

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 Proxy 的值。預設為 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