<<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 |
布林值,指出本機位址是否略過 Proxy 伺服器。預設為 false。 |
clientBaseAddress |
URI,設定用戶端在上面接聽以接收來自服務之回應訊息的基底位址。如果指定,便會使用這個位址 (再加上每個通道的 GUID) 來接聽。如果未指定值,則會以傳輸特定的方式來產生用戶端基底位址。預設為 null。 |
closeTimeout |
|
hostnameComparisonMode |
指定用於剖析 URI 的 HTTP 主機名稱比較模式。這個屬性的型別為 HostnameComparisonMode,表示比對 URI 時此主機名稱是否會用來取用服務。預設值為 StrongWildcard,表示比對時忽略主機名稱。 |
maxBufferPoolSize |
指定此繫結之緩衝區集區大小上限的整數。預設為 524,288 個位元組 (512 * 1024)。Windows Communication Foundation (WCF) 的許多部分會使用緩衝區。每次使用這些組件時建立並終結緩衝區是高度耗費資源的作業,回收緩衝區的記憶體也是如此。有了緩衝集區,您就可以從集區取出緩衝區來使用,用完後再還給集區,因此可以避免建立及終結緩衝區的負荷。 |
maxReceivedMessageSize |
指定在使用此繫結設定之通道上可以接收的訊息大小上限 (以位元組為單位,包括標頭) 的正整數。超出此限制之訊息的寄件者將會收到 SOAP 錯誤。收件者會捨棄訊息,然後在追蹤記錄檔中建立此事件的項目。預設為 65536。 |
messageEncoding |
定義用來對訊息進行編碼的編碼器。有效值包括以下的值:
此屬性的型別為 WSMessageEncoding。 |
name |
包含此繫結之組態名稱的字串。這個值應該是唯一的,因為它會當做繫結的識別使用。 |
openTimeout |
TimeSpan 值,指定提供用來讓開啟作業完成的時間間隔。這個值應該大於或等於 Zero。預設為 00:01:00。 |
proxyAddress |
指定 HTTP Proxy 位址的 URI。如果 useDefaultWebProxy 為 true,則這項設定必須為 null。預設為 null。 |
receiveTimeout |
TimeSpan 值,指定接收作業完成其作業之時間間隔。這個值應該大於或等於 Zero。預設為 00:01:00。 |
sendTimeout |
TimeSpan 值,指定提供用來讓傳送作業完成的時間間隔。這個值應該大於或等於 Zero。預設為 00:01:00。 |
textEncoding |
設定要在繫結上發出訊息時使用的字元集編碼方式。有效值包括以下的值:
預設為 UTF8。此屬性的型別為 Encoding。 |
transactionFlow |
指定繫結是否支援流動 WS-Transactions 的布林值。預設為 false。 |
useDefaultWebProxy |
布林值,指定是否使用系統自動設定的 HTTP Proxy。如果這個屬性為 true,則 Proxy 位址必須為 null (也就是不設定)。預設為 true。 |
子項目
項目 | 描述 |
---|---|
定義繫結的安全性設定。此項目的型別為 WSDualHttpSecurityElement。 |
|
定義 SOAP 訊息複雜度的條件約束,而這些條件約束可由以此繫結所設定的端點處理。此項目的型別為 XmlDictionaryReaderQuotasElement。 |
|
指定是否在通道端點之間建立可靠的工作階段。 |
父項目
項目 | 描述 |
---|---|
這個項目會保存標準和自訂繫結的集合。每一個項目都是由它的 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
概念
其他資源
Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients