Исключение закрытия соединения WCF при вызове 256

Я обнаружил интересную ошибку, всегда на вызове 256 в процессе (может быть несколько запущенных одновременно, но всегда вызов 256 от каждого процесса завершится ошибкой)

Мы получаем Невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом.

Ошибка при получении ответа HTTP на [uri]. Это может быть связано с тем, что привязка конечной точки службы не использует протокол HTTP. Это также может быть связано с прерыванием контекста HTTP-запроса сервером (возможно, из-за завершения работы службы). См. Журналы сервера для более подробной информации.

Что может быть не так, вроде бы клиент, но это так?

Может быть, из-за каких-либо ограничений в Windows 7 и Windows Server Web Edition?


person NPehrsson    schedule 02.01.2012    source источник
comment
В какие сроки? В течение 2 минут?   -  person rene    schedule 02.01.2012
comment
Может быть через 2 минуты, какое-то ограничение? И как его выключить?   -  person NPehrsson    schedule 02.01.2012


Ответы (2)


Я ожидаю, что в стеке wcf и / или TCP закончатся соединения.

посмотрите здесь:

http://msdn.microsoft.com/en-us/library/ms731078.aspx

и посмотрите, помогает ли работа с idleTimeout или MaxConnections.

Попробуйте добавить custombinding в свой config.

     <customBinding>
        <binding name="mynettcp">
          <binaryMessageEncoding />
          <tcpTransport 
              maxPendingConnections="100" 
              maxPendingAccepts="10"  
              listenBacklog="100">
            <connectionPoolSettings 
               idleTimeout="00:00:00" 
               maxOutboundConnectionsPerEndpoint="0" />
          </tcpTransport>
        </binding>
      </customBinding>

Затем в атрибуте привязки вашей службы измените значение на mynettcp

person rene    schedule 02.01.2012
comment
Я понял, что это ограничение в 2 минуты. Могу ли я как-то изменить это в любой конфигурации? Я ожидаю, что это ограничение для каждого процесса? Конфигурация должна быть изменена на клиенте или на сервере? - person NPehrsson; 02.01.2012
comment
у нас есть сервер, которому нужно делать много этих вызовов. Поэтому нам нужно снизить этот предел времени простоя или найти способ повторно использовать соединения. - person NPehrsson; 02.01.2012
comment
Я заржавел на моем wcf, но я попытался создать настраиваемую привязку, которая могла бы сработать для вас - person rene; 02.01.2012
comment
а если мы используем HttpTransportBinding? Не могу найти :( - person NPehrsson; 02.01.2012
comment
@rene +1 за полезный ответ в моем случае. Спасибо ! - person JYL; 02.04.2013

Он находится в брандмауэре моей компании.

Спасибо за вашу помощь, Рене

person NPehrsson    schedule 03.01.2012