<binding name="NetTcpBinding_ICallBackService" closeTimeout="00:10:00"
openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10: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" />
<message clientCredentialType="Windows" />
</security>
</binding>
这里带有MAX的属性都是什么意思?比如maxReceivedMessageSize
1.maxBufferPoolSize="524288",从通道接收消息的最大缓存数量
2.maxBufferSize="65536" 从通道接收消息的缓存大小
3.maxConnections="10" 最大连接数目
4.maxReceivedMessageSize="65536">最大接收的消息大小
<readerQuotas>
为交换的 Soap 消息指定复杂性约束的 XmlDictionaryReaderQuotas。下面的备注部分中提供了这些约束的默认值。
这些复杂性约束可以抵御某种类型的拒绝服务 (DOS) 攻击,这些攻击试图利用消息复杂性来占用终结点处理资源。表达这些约束及其默认值的属性如下所示:
字典读取器最重要的安全功能是配额。必须为字典读取器工厂方法指定配额实例。默认构造函数创建“安全”默认值(与编码默认值相同),并且类具有静态 Max 属性,用于创建不带配额的读取器。
5.maxDepth="32" 最大节点深度
6.maxStringContentLength="8192" 最大内容长度
7.maxArrayLength="16384"最大数组长度
8.maxBytesPerRead="4096" 最大每次读取长度
9.maxNameTableCharCount="16384"最大NameTableChar的数量