У меня есть веб-приложение ASP.NET, которое я не могу изменить (у меня только есть двоичные файлы). Это приложение соединяется с веб-сервисом, и кажется, что соединение закрывается от стороны клиента (мое веб-приложение). Я увеличил "executionTimeout" в machine.config целевого сервера, но мое веб-приложение, кажется, все еще останавливается после ожидания некоторое время.
Существует ли способ увеличить время тайм-аута для моего веб-приложения путем простого изменения web.config? Поскольку я сказал... Я не могу изменить тайм-аут в коде, таким образом, моя единственная опция была бы через файлы конфигурации.
Спасибо!
Попробуйте, если это сработает для вас.
Во-первых, вам нужно увеличить время ожидания атрибута executionTimeout элемента httpRuntime. Обратите внимание, что это упоминается в секундах, в отличие от других атрибутов тайм-аута, таких как тайм-аут сеанса и других.
<httpRuntime
executionTimeout="36000"
Более того, этот атрибут вступает в силу только тогда, когда вы устанавливаете для атрибута debug элемента Compilation значение false. Это также указано в упомянутой вами ссылке MSDN. Например,
<compilation
debug="false"
../>
Но это работает вместе с таймаутом сеанса. Да, если время сеанса истечет, будет выдана ошибка. и он не будет ждать, пока значение executionTimeout вступит в силу. поэтому вам также необходимо установить для параметра «Тайм-аут сеанса» более высокое значение. И учтите, что это в считанные минуты. который будет выглядеть так:
<sessionState
mode="InProc"
timeout="360"
...
/>
И обратите внимание, что все это будет отменено процессом утилизации AppPool. поэтому вам нужно установить значение Idle Timeout для пула приложений, которое использует ваш веб-сайт, по крайней мере на такое же / большее значение, чем время ожидания сеанса.
Я нашел его здесь http://www.eggheadcafe.com/community/aspnet/17/10111748/how-can-we-increase-the-t.aspx