Si vous souhaitez prolonger la durée autorisée pour l'exécution d'un script ASP.NET, augmentez la Server.ScriptTimeout
valeur. La valeur par défaut est 90 secondes pour .NET 1.x et 110 secondes pour .NET 2.0 et versions ultérieures.
Par exemple:
Server.ScriptTimeout = 300;
Cette valeur peut également être configurée dans votre web.config
fichier dans l' httpRuntime
élément de configuration:
<httpRuntime executionTimeout="300"
... other configuration attributes ...
/>
Veuillez noter selon la documentation MSDN :
"Ce délai d'expiration s'applique uniquement si l'attribut de débogage dans l'élément de compilation est False. Par conséquent, si l'attribut de débogage a la valeur True, vous ne devez pas définir cet attribut sur une valeur élevée pour éviter l'arrêt de l'application pendant le débogage. "
Si vous avez déjà fait cela mais constatez que votre session expire, augmentez la HttpSessionState.Timeout
valeur ASP.NET :
Par exemple:
Session.Timeout = 30;
Cette valeur peut également être configurée dans votre web.config
fichier dans l' sessionState
élément de configuration:
<configuration>
<system.web>
<sessionState
mode="InProc"
cookieless="true"
timeout="30" />
</system.web>
</configuration>
Si votre script prend plusieurs minutes à s'exécuter et qu'il existe de nombreux utilisateurs simultanés, envisagez de changer la page en une page asynchrone . Cela augmentera l'évolutivité de votre application.
L'autre alternative, si vous avez un accès administrateur au serveur, est de considérer cette opération de longue durée comme un candidat pour l'implémentation en tant que tâche planifiée ou service Windows.