Подтвердить что ты не робот

WCF listenBacklog и maxConnections не могут быть установлены выше 10. Почему бы и нет?

Мой сервис отлично работает при низкой нагрузке. Но при высокой нагрузке я начинаю получать ошибки соединения.

Я знаю о других настройках, но я пытаюсь изменить параметр listenBacklog, в частности, для привязки TCP Buffered.

Если я устанавливаю listenBacklog = "10", я могу telnet в порт, где работает моя служба WCF.

Если я изменил listenBacklog на что-нибудь выше 10, он не позволит мне telnet в мою службу, когда он работает.

Ошибок не возникает.

Что я могу сделать?
Я получаю ту же проблему, когда меняю maxConnections на 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

4b9b3361

Ответ 1

Если вы работаете на машине Win2000, XP, Vista или Win7, то ОС ограничивает вас 10 параллельными TCP-соединениями. Попробуйте выполнить проверку на машине Windows Server.

Ответ 3

Попробуйте удалить все ссылки на привязки HTTP и MEX.