Как увеличить время ожидания запроса веб-службы? - PullRequest
19 голосов
/ 26 мая 2010

У меня есть веб-приложение ASP.NET, которое я не могу изменить (у меня есть только двоичные файлы). Это приложение подключается к веб-службе, и кажется, что соединение закрыто со стороны клиента (мое веб-приложение). Я увеличил значение «executeTimeout» в файле machine.config конечного сервера, но мое веб-приложение по-прежнему останавливается после некоторого ожидания.

Есть ли способ увеличить время ожидания для моего веб-приложения, просто изменив файл web.config? Как я уже сказал ... я не могу изменить время ожидания в коде, поэтому мой единственный вариант - через файлы конфигурации.

Спасибо!

Ответы [ 2 ]

26 голосов
/ 02 июня 2010

Попробуйте, если это сработает для вас.

Во-первых, вам нужно увеличить время ожидания атрибута executeTimeout элемента httpRuntime. Обратите внимание, что это упоминается в секундах в отличие от других атрибутов времени ожидания, таких как время ожидания сеанса и другие.

<httpRuntime 
    executionTimeout="36000"

Более того, этот атрибут вступает в силу только в том случае, если для атрибута debug элемента Compilation задано значение false. Это также указано в ссылке MSDN, которую вы упомянули. Мол,

<compilation 
   debug="false" 
../>

Но это работает в сочетании с тайм-аутом сеанса. Да, если время сеанса истекло, выдается ошибка. и он не будет ждать, пока значение executeTimeout вступит в силу. поэтому вам также нужно установить время ожидания сеанса на более высокое значение. И обратите внимание, что это в минутах. который будет выглядеть,

<sessionState 
    mode="InProc" 
    timeout="360"
    ...
    />

И обратите внимание, что все это будет переопределено процессом переработки AppPool. поэтому вам нужно установить значение Idle Timeout для Apppool, которое использует ваш веб-сайт, чтобы оно соответствовало тому же / более высокому значению, чем время ожидания сеанса.

Я нашел это здесь http://www.eggheadcafe.com/community/aspnet/17/10111748/how-can-we-increase-the-t.aspx

5 голосов
/ 20 января 2012

Время ожидания веб-приложения по умолчанию составляет 90 секунд, что обычно более чем достаточно для общего использования. Важно отметить, откуда истекает время ожидания. Это от самой страницы или что-то на странице, которая вызывает это. В любом случае может показаться, что время ожидания «страницы» истекло.

Я наткнулся на этот вопрос, так как время моей страницы тоже истекло. Обнаружено, что исключение исходит от SQL (прочитайте фактическую ошибку), так что это действительно проблема SQL. Когда я это узнал, я мог легко это исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...