netTcpBinding
来源:互联网 发布:移动通信 算法 招聘 编辑:程序博客网 时间:2024/05/16 10:28
http://msdn.microsoft.com/zh-cn/library/ms731343.aspx
指定一种适合于跨计算机通信的安全、可靠且进行了优化的绑定。 默认情况下,它会生成一个运行时通信堆栈,该堆栈包含 Windows Security 以保证消息安全性和进行身份验证,包含 TCP 以便进行消息传递,并且包含二进制消息编码机制。
<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 maxArrayLength="Integer" maxBytesPerRead="Integer" maxDepth="Integer" maxNameTableCharCount="Integer" maxStringContentLength="Integer" /> </binding></netTcpBinding>
特性和元素
以下几节描述了属性、子元素和父元素。
特性
特性
说明
closeTimeout
一个 TimeSpan 值,指定为完成关闭操作提供的时间间隔。 此值应大于或等于 Zero。 默认值为 00:01:00。
hostnameComparisonMode
指定用于分析 URI 的 HTTP 主机名比较模式。 此属性的类型为 HostnameComparisonMode,指示在对 URI 进行匹配时,是否使用主机名来访问服务。 默认值为 StrongWildcard,表示在匹配过程中忽略主机名。
listenBacklog
一个正整数,指定侦听器上等待接受的最大通道数。 超出此限制的连接会被排队,直到连接数低于限制值。 connectionTimeout 属性限制客户端在引发连接异常之前将等待连接的时间。 默认值为 10。
maxBufferPoolSize
一个整数,指定此绑定的最大缓冲池大小。 默认值为 512 * 1024 字节。 Windows Communication Foundation (WCF) 的许多部件使用缓冲区。 每次使用缓冲区时,创建和销毁它们都将占用大量资源,而缓冲区的垃圾回收过程也是如此。 利用缓冲池,可以从缓冲池中获得缓冲区,使用缓冲区,然后在完成工作后将其返回给缓冲池。 这样就避免了创建和销毁缓冲区的系统开销。
maxBufferSize
一个正整数,指定内存中用于存储消息的缓冲区的最大大小(字节)。
如果 transferMode 属性等于 Buffered,则此属性应等于 maxReceivedMessageSize 属性值。
如果 transferMode 属性等于 Streamed,则此属性不能大于 maxReceivedMessageSize 属性值,应当至少为标头的大小。
默认值为 65536。 有关更多信息,请参见 MaxBufferSize。
maxConnections
一个整数,指定服务将创建/接受的最大出站和入站连接数。 传入和传出连接分别根据此属性指定的限制进行计数。
超出此限制的入站连接需要排队,直到连接数低于限制值。
超出此限制的出站连接需要排队,直到连接数低于限制值。
默认值为 10。
maxReceivedMessageSize
一个正整数,指定采用此绑定配置的通道上可以接收的最大消息大小(字节),包括消息头。 如果消息超出此限制,则发送方将收到 SOAP 错误。 接收方将删除该消息,并在跟踪日志中创建事件项。 默认值为 65536。
name
一个包含绑定的配置名称的字符串。 因为此值用作绑定的标识,所以它应该是唯一的。 从 .NET Framework 4 开始,不要求绑定和行为具有名称。 有关默认配置以及无名称绑定和行为的更多信息,请参见简化配置和 WCF 服务的简化配置。
openTimeout
一个 TimeSpan 值,指定为完成打开操作提供的时间间隔。 此值应大于或等于 Zero。 默认值为 00:01:00。
portSharingEnabled
一个布尔值,指定是否为此连接启用 TCP 端口共享。 如果此值为 false,则每个绑定都使用自己的独占端口。 此设置只与服务相关,因为客户端不受影响。
receiveTimeout
一个 TimeSpan 值,指定为完成接收操作提供的时间间隔。 此值应大于或等于 Zero。 默认值为 00:10:00。
sendTimeout
一个 TimeSpan 值,指定为完成发送操作提供的时间间隔。 此值应大于或等于 Zero。 默认值为 00:01:00。
transactionFlow
一个布尔值,指定绑定是否支持流动 WS-Transactions。 默认值为 false。
transactionProtocol
指定与此绑定一起使用的事务处理协议。 有效值为
OleTransactions
WSAtomicTransactionOctober2004
默认值为 OleTransactions。 此属性的类型为 TransactionProtocol。
transferMode
一个 TransferMode 值,指定为请求或响应对消息进行缓冲处理还是流式处理。
子元素
元素
说明
<netTcpBinding> 的 <security>
定义绑定的安全设置。 此元素的类型为 NetTcpSecurityElement。
<readerQuotas>
定义可由采用此绑定配置的终结点进行处理的 SOAP 消息的复杂性约束。 此元素的类型为 XmlDictionaryReaderQuotasElement。
reliableSession
指定是否在通道终结点之间建立可靠会话。
父元素
元素
说明
<bindings>
此元素包含标准绑定和自定义绑定的集合。
备注
默认情况下,此绑定会生成一个运行时通信堆栈,该堆栈使用传输安全、用于消息传递的 TCP 和二进制消息编码机制。 此绑定是 Windows Communication Foundation (WCF) 系统提供的一个对应选项,用于通过 Intranet 进行通信。
netTcpBinding 的默认配置比 wsHttpBinding 提供的配置更快,但是只适用于 WCF 到 WCF 的通信。 可以使用可选的 securityMode 属性配置安全行为。 使用可选的reliableSessionEnabled 属性可以配置 WS-ReliableMessaging 的用法。 但是在默认情况下可靠消息传递为关闭状态。 一般来说,HTTP 系统提供的绑定(如wsHttpBinding 和 basicHttpBinding)是默认配置为打开事项,而 netTcpBinding 绑定是默认配置为关闭事项,因此,您必须选择性加入所需事项才能获取支持,例如获取对一种 WS-* 规范的支持。 这意味着在终结点之间交换消息时,TCP 的默认配置比 HTTP 绑定的默认配置更快。
示例
绑定是在客户端和服务的配置文件中指定的。 绑定类型是在 <endpoint> 元素的 binding 属性中指定的。 如果要配置 netTcpBinding 绑定并更改它的一些设置,则必须定义绑定配置。 终结点必须使用 bindingConfiguration 特性来引用绑定配置。 在下面的示例中,定义了一个绑定配置。
<services> <service name="Microsoft.ServiceModel.Samples.CalculatorService" behaviorConfiguration="CalculatorServiceBehavior"> ... <endpoint address="" binding="netTcpBinding" contract="Microsoft.ServiceModel.Samples.ICalculator" /> ... </service></services><bindings> <netTcpBinding> <binding closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="65536"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" /> <security mode="Transport"> <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" /> </security> </binding> </netTcpBinding></bindings>
- netTcpBinding
- WCF中netTcpBinding使用
- netTcpBinding 客户端和服务端配置文件
- Generate WCF Client using svcutil with nettcpbinding
- 启用WCF NetTcpBinding的共享端口
- WCF采用 netTcpBinding 发生的Socket errors
- wcf使用netTcpBinding实现双工通信
- WCF绑定netTcpBinding寄宿到控制台应用程序
- WCF绑定netTcpBinding寄宿到IIS
- 让IIS支持WCF的netTcpBinding
- 化零为整WCF(3) - 绑定Binding(basicHttpBinding和netTcpBinding)
- Hosting WCF Service with netTcpBinding in Windows Service
- [WCF]NetTcpBinding在IIS中使用的详细配置方法
- winform+wcf(netTcpBinding)双向通讯 自定义用户名密码验证
- NetTcpBinding In IIS7.0 ASP.NET v4.0
- WCF : 如何将NetTcpBinding寄宿在IIS7上
- WCF NetTcpBinding.ReaderQuotas.MaxDepth 引用异常故障排除
- WCF netTcpBinding:如何将net.tcp协议寄宿到IIS
- shu_1236 超级楼梯
- Android进阶—线程池
- Linux 下系统调用的三种方法
- 【OpenCV学习笔记】【函数学习】十一(读入图像﹑显示图像和保存图像)
- __declspec(dllexport)
- netTcpBinding
- cocos2dx3.0 超级马里奥开发笔记(一)——loadingbar、TableView和pageview的使用
- IOS中XML数据类型的两种解析
- 用代码编辑色块
- 微软的可疑更新DhMachineSvc.exe
- C++ bubber sort
- 初探linux子系统集之led子系统(二)
- Eclipse常用快捷键使用
- SGU 495. Kids and Prizes(概率dp)