Jeśli chcesz przedłużyć czas dozwolony dla scenariusza ASP.NET do wykonania następnie zwiększyć wartość Server.ScriptTimeout
. Wartość domyślna to 90 sekund dla .NET 1.x i 110 sekund dla .NET 2.0 i nowszych.
Na przykład:
// Increase script timeout for current page to five minutes
Server.ScriptTimeout = 300;
Wartość ta może być również skonfigurowane w pliku web.config
w elemencie httpRuntime
konfiguracji:
<!-- Increase script timeout to five minutes -->
<httpRuntime executionTimeout="300"
... other configuration attributes ...
/>
proszę zauważyć według MSDN documentation:
"Ten limit czasu ma zastosowanie tylko wtedy, gdy atrybut debugowania w elemencie kompilacji jest fałszywy. Dlatego też, jeśli atrybut debug to prawda, że nie nie trzeba ustawić ten atrybut na dużą wartość w celu uniknięcia zamknięcie aplikacji podczas debugowania.”
Jeśli już to zrobione, ale są uznając, że sesja wygasa następnie zwiększyć ASP.NET HttpSessionState.Timeout
wartość:
na przykład:
// Increase session timeout to thirty minutes
Session.Timeout = 30;
wartość ta może być również skonfigurowany w pliku web.config
wt on sessionState
elementu konfiguracji:
<configuration>
<system.web>
<sessionState
mode="InProc"
cookieless="true"
timeout="30" />
</system.web>
</configuration>
Jeśli skrypt trwa kilka minut, aby wykonać i istnieje wiele jednoczesnych użytkowników następnie rozważyć zmianę stronę do Asynchronous Page. 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 zaplanowane zadanie lub usługa systemu Windows.
FYI httpRuntime executionTimeout jest w sekundach i ma wielką T –
Ważne jest również, aby pamiętać, że tryb debugowania być ustawiona na false, aby ta wartość limitu czasu do wykorzystania: –
@JesseRoper, jeśli możesz wskazać mi dokumenty na ten temat, to z chęcią uwzględnię to w odpowiedzi lub możesz bezpośrednio edytować moją odpowiedź. Ta. – Kev