<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>
- WSDualHttpBinding 除了使用了原來在 BasicHttpBinding 所使用的 TextMessageEncodingBindingElement 與 HttpTransportBindingElement 這兩個 binding element,也使用了 TransactionFlowBindingElement。
- 使用 CompositeDuplexBindingElement, 讓 Client 可以 callback (回呼)。為了讓 Client 可以回呼, WSDualHttpBinding 是一個雙通道的 Binding,除了一般由 Client 傳送訊息給 Service 的通道(Channel)外,另外建立一個讓Service傳送訊息給Client 的通道。
- 一個 Service 通常有多個 Client 會使用該Service。WSDualHttpBinding 為了回呼Client,必須保持每個 Client 的資訊,因此需要維護 Session。此時引入了ReliableSessionBindingElement。
沒有留言:
張貼留言