我的服务在低负载下运行良好。但是在高负载下我开始出现连接错误。
我知道其他设置,但我正在尝试更改listenBacklog参数,特别是我的TCP缓冲绑定。
如果我设置listenBacklog =“10”,我可以远程登录到运行WCF服务的端口。
如果我将listenBacklog更改为高于10的任何内容,它将不会让我在运行时telnet到我的服务。
似乎没有错误。
我该怎么办? 当我将maxConnections从10更改为10时,我遇到同样的问题。绑定的所有其他属性我可以设置得更高而没有问题。
以下是我的绑定:
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding_IMyService" 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="1048576" maxConnections="10" maxReceivedMessageSize="1048576">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign">
</transport>
<message clientCredentialType="Windows" />
</security>
</binding>
...
我真的需要增加maxConnections和listenBacklog的值
答案 0 :(得分:6)
如果您在Win2000,XP,Vista或Win7计算机上运行,则操作系统会限制您使用10个并发TCP连接。尝试在Windows Server计算机上运行以进行确认。
答案 1 :(得分:0)
这几乎肯定是一个限制问题。尝试为服务限制行为值指定非默认值。 See this page for some guidance
答案 2 :(得分:-2)
尝试删除对HTTP绑定和MEX的所有引用。