Jeśli chcesz wydłużyć dopuszczalny czas wykonywania skryptu ASP.NET, zwiększ Server.ScriptTimeout
wartość. Wartość domyślna to 90 sekund dla .NET 1.xi 110 sekund dla .NET 2.0 i nowszych.
Na przykład:
Server.ScriptTimeout = 300;
Tę wartość można również skonfigurować w swoim web.config
pliku w httpRuntime
elemencie konfiguracyjnym:
<httpRuntime executionTimeout="300"
... other configuration attributes ...
/>
Uwaga zgodnie z dokumentacją MSDN :
„Ten limit czasu ma zastosowanie tylko wtedy, gdy atrybut debugowania w elemencie kompilacji ma wartość False. Dlatego też, jeśli atrybut debug ma wartość True, nie trzeba ustawiać tego atrybutu na dużą wartość, aby uniknąć zamykania aplikacji podczas debugowania. "
Jeśli już to zrobiłeś, ale okazuje się, że sesja wygasa, zwiększ HttpSessionState.Timeout
wartość ASP.NET :
Na przykład:
Session.Timeout = 30;
Tę wartość można również skonfigurować w swoim web.config
pliku w sessionState
elemencie konfiguracyjnym:
<configuration>
<system.web>
<sessionState
mode="InProc"
cookieless="true"
timeout="30" />
</system.web>
</configuration>
Jeśli wykonanie skryptu trwa kilka minut i jest wielu jednoczesnych użytkowników, rozważ zmianę strony na stronę asynchroniczną . Zwiększy to skalowalność Twojej aplikacji.
Inną alternatywą, jeśli masz dostęp administratora do serwera, jest rozważenie tej długotrwałej operacji jako kandydata do wdrożenia jako zaplanowanego zadania lub usługi systemu Windows.