Если вы хотите продлить время, отведенное для выполнения сценария ASP.NET, увеличьте значение Server.ScriptTimeout
.Значение по умолчанию составляет 90 секунд для .NET 1.x и 110 секунд для .NET 2.0 и более поздних версий.
Например:
// Increase script timeout for current page to five minutes
Server.ScriptTimeout = 300;
Это значение также можно настроить в вашем web.config
файл в элементе конфигурации httpRuntime
:
<!-- Increase script timeout to five minutes -->
<httpRuntime executionTimeout="300"
... other configuration attributes ...
/>
Обратите внимание на документацию MSDN :
"Этот тайм-аут применяется только в том случае, если атрибут debug в элементе компиляции имеет значение False. Следовательно, если атрибут debug имеет значение True, вам не нужно устанавливать этот атрибут на большое значение, чтобы избежать применениязавершение работы во время отладки. "
Если вы уже сделали это, но обнаружили, что ваш сеанс истекает, увеличьте значение ASP.NET HttpSessionState.Timeout
:
Например:
// Increase session timeout to thirty minutes
Session.Timeout = 30;
Это значение также можно настроить в файле web.config
в элементе конфигурации sessionState
:
<configuration>
<system.web>
<sessionState
mode="InProc"
cookieless="true"
timeout="30" />
</system.web>
</configuration>
Если ваш сценарий принимаетнесколько минут, чтобы выполнить, и есть много одновременно работающих пользователейперенаправление страницы на асинхронную страницу .Это увеличит масштабируемость вашего приложения.
Другая альтернатива, если у вас есть доступ администратора к серверу, - это рассмотреть эту длительную операцию в качестве кандидата для реализации в качестве запланированной задачи или службы Windows.