Si desea extender la cantidad de tiempo permitido para que se ejecute un script ASP.NET, aumente el Server.ScriptTimeout
valor. El valor predeterminado es 90 segundos para .NET 1.xy 110 segundos para .NET 2.0 y posteriores.
Por ejemplo:
Server.ScriptTimeout = 300;
Este valor también se puede configurar en su web.config
archivo en el httpRuntime
elemento de configuración:
<httpRuntime executionTimeout="300"
... other configuration attributes ...
/>
Tenga en cuenta de acuerdo con la documentación de MSDN :
"Este tiempo de espera se aplica solo si el atributo de depuración en el elemento de compilación es Falso. Por lo tanto, si el atributo de depuración es Verdadero, no es necesario que establezca este atributo en un valor grande para evitar el cierre de la aplicación mientras realiza la depuración. "
Si ya ha hecho esto, pero descubre que su sesión está caducando, aumente el HttpSessionState.Timeout
valor de ASP.NET :
Por ejemplo:
Session.Timeout = 30;
Este valor también se puede configurar en su web.config
archivo en el sessionState
elemento de configuración:
<configuration>
<system.web>
<sessionState
mode="InProc"
cookieless="true"
timeout="30" />
</system.web>
</configuration>
Si su secuencia de comandos tarda varios minutos en ejecutarse y hay muchos usuarios simultáneos, considere cambiar la página a una página asincrónica . Esto aumentará la escalabilidad de su aplicación.
La otra alternativa, si tiene acceso de administrador al servidor, es considerar esta operación de larga duración como un candidato para implementar como una tarea programada o un servicio de Windows.