Настройка тайм-аута в WCF - PullRequest
       28

Настройка тайм-аута в WCF

1 голос
/ 31 января 2012

Действительно странно, что для этой конфигурации время службы истекло всего за одну минуту. Разве "01:00:00" не один час? Или для другого свойства тайм-аута, он использует другой формат? Есть ли документация для этого? Спасибо!

<binding name="BasicHttpBindingBigMessages" 
         closeTimeout="00:59:00" 
         openTimeout="00:59:00" 
         receiveTimeout="00:59:00" 
         sendTimeout="00:59:00" 
         allowCookies="false" 
         bypassProxyOnLocal="false" 
         hostNameComparisonMode="StrongWildcard" 
         maxBufferSize="1000000000" 
         maxBufferPoolSize="100000000" 
         maxReceivedMessageSize="1000000000" 
         messageEncoding="Text" 
         textEncoding="utf-8" 
         transferMode="Buffered" 
         useDefaultWebProxy="true">

  <readerQuotas maxDepth="32" 
                maxStringContentLength="819200" 
                maxArrayLength="1638400" 
                maxBytesPerRead="4096" 
                maxNameTableCharCount="16384" />

Это сообщение об ошибке, которое я увидел в своем коде в режиме отладки:

{"Время ожидания канала запроса при ожидании ответа после 01:00:00. Увеличьте значение тайм-аута, переданное на вызов Request, или увеличьте значение SendTimeout в Binding. Возможно, время, выделенное для этой операции, было часть более длительного тайм-аута. "}

Ответы [ 2 ]

1 голос
/ 31 января 2012

«01:00:00» действительно равен 1 часу.

Время ожидания операции по умолчанию на клиенте WCF составляет 1 минуту.Вы правильно устанавливаете время ожидания на клиентах?Здесь может быть время.

1 голос
/ 31 января 2012

У вас есть контроль над конфигурацией клиента и сервера?Это может быть тайм-аут на сервере (через Настройка HttpRuntime ).

<system.web>
    <!-- Maximum 10 min timeout -->
    <httpRuntime executionTimeout="600" />
</system.web>
...