<netTcpBinding>
<binding
closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
listenBacklog="Integer"
maxBufferPoolSize="integer"
maxBufferSize="Integer"
maxConnections="Integer"
maxReceivedMessageSize="Integer"
name="string"
openTimeout="TimeSpan"
portSharingEnabled="Boolean"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
transactionFlow="Boolean"
transactionProtocol="OleTransactions/WSAtomicTransactionOctober2004"
transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse"
<reliableSession ordered="Boolean"
inactivityTimeout="TimeSpan"
enabled="Boolean" />
<security mode="None/Transport/Message/Both">
<message clientCredentialType="None/Windows/UserName/Certificate/CardSpace"
defaultProtectionLevel="None/Sign/EncryptAndSign"
algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15" />
<transport clientCredentialType="None/Windows/Certificate"
protectionLevel="None/Sign/EncryptAndSign" />
</security>
<readerQuotas maxDepth="integer"
maxStringContentLength="integer"
maxByteArrayContentLength="integer"
maxBytesPerRead="integer"
maxNameTableCharCount="integer" />
</binding>
</netTcpBinding>
- 當Client 是在 intranet 環境時,使用 netTcpBinding 是一個對效能最好的選擇,而且可以host 在 Windows Service 上。IIS5 或 IIS6 只能使用 HttpBinding。IIS7 則可以使用 WAS 方式來支援 netTcpBinding。
- netTcpBinding 使用 TCP protocol 並且完全支援 SOAP security, transactions, 與 reliability。
- 由於此 netTcpBinding 支援 .net 平台,因此並不適合跨平台如.NET + JAVA。我認為此將取代原本的 .net Remoting.
- 使用三個 binding elements. 第一個是 BinaryMessageEncodingBindingElement ,負責將訊息轉換成將來傳輸用的二進位格式。
- 第二個是TransactionFlowBindingElement ,只有一個 TransactionProtocol 屬性,定義交易(transactions) 如何從 clinet 流向 service。預設值是 TransactionProtocol.OleTransactions, 意思就是不支援 WS-AtomicTransaction。如果要支援 WS-AtomicTransaction,就設成 TransactionProtocol.WSAtomicTransaction11 或 TransactionProtocol.WSAtomicTransactionOctober2004。注意到需要使用 WS-AtomicTransaction 組態公用程式 (wsatConfig.exe) 來設定該台伺服器。
- 第三個是 TcpTransportBindingElement, 負責傳輸的工作。
沒有留言:
張貼留言