Якщо ви хочете продовжити час, дозволений для виконання сценарію ASP.NET, збільште Server.ScriptTimeout
значення. Типовим значенням є 90 секунд для .NET 1.x та 110 секунд для .NET 2.0 та новіших версій.
Наприклад:
Server.ScriptTimeout = 300;
Це значення також можна налаштувати у вашому web.config
файлі в httpRuntime
елементі конфігурації:
<httpRuntime executionTimeout="300"
... other configuration attributes ...
/>
Зверніть увагу, згідно з документацією MSDN :
"Цей тайм-аут застосовується лише в тому випадку, якщо атрибут налагодження в елементі компіляції має значення False. Тому, якщо атрибут налагодження має значення True, вам не потрібно встановлювати цей атрибут великим значенням, щоб уникнути завершення роботи програми під час налагодження. "
Якщо ви вже зробили це, але виявили, що термін дії вашого сеансу закінчується, збільште HttpSessionState.Timeout
значення ASP.NET :
Наприклад:
Session.Timeout = 30;
Це значення також можна налаштувати у вашому web.config
файлі в sessionState
елементі конфігурації:
<configuration>
<system.web>
<sessionState
mode="InProc"
cookieless="true"
timeout="30" />
</system.web>
</configuration>
Якщо для виконання вашого сценарію потрібно кілька хвилин, і одночасно існує багато користувачів, то подумайте про зміну сторінки на асинхронну сторінку . Це збільшить масштабованість вашої програми.
Іншою альтернативою, якщо у вас є доступ адміністратора до сервера, є розгляд цієї тривалої операції як кандидата на виконання як запланованого завдання чи служби Windows.