¿Cómo aumentar el tiempo de espera de la solicitud en IIS 7.0? Lo mismo se hace en la pestaña de la aplicación en los ajustes de configuración ASP en IIS 6.0. No puedo encontrar la sección de configuración asp.net en IIS 7.0
¿Cómo aumentar el tiempo de espera de la solicitud en IIS 7.0? Lo mismo se hace en la pestaña de la aplicación en los ajustes de configuración ASP en IIS 6.0. No puedo encontrar la sección de configuración asp.net en IIS 7.0
Respuestas:
Agregue esto a su configuración web
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
https://msdn.microsoft.com/en-us/library/e1f13641(v=vs.85).aspx
Atributo opcional de TimeSpan.
Especifica el número máximo de segundos que una solicitud puede ejecutar antes de que ASP.NET la cierre automáticamente.
Este tiempo de espera se aplica solo si el atributo de depuración en el elemento de compilación es False. Para ayudar a evitar el cierre de la aplicación mientras está depurando, no establezca este tiempo de espera en un valor grande.
El valor predeterminado es "00:01:50" (110 segundos).
En el Administrador IIS, haga clic derecho en el sitio y vaya a Administrar sitio web -> Configuración avanzada . En la opción Límites de conexión , debería ver Tiempo de espera de conexión .
Para aumentar el tiempo de espera de la solicitud, agregue esto a web.config
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
y para una página específica agregue esto
<location path="somefile.aspx">
<system.web>
<httpRuntime executionTimeout="180"/>
</system.web>
</location>
El valor predeterminado es 90 segundos para .NET 1.x.
El valor predeterminado de 110 segundos para .NET 2.0 y versiones posteriores.
En IIS> = 7, una <webLimits>
sección ha reemplazado ConnectionTimeout
, HeaderWaitTimeout
, MaxGlobalBandwidth
, y MinFileBytesPerSec
IIS 6 configuración de la metabase.
Configuración de ejemplo:
<configuration>
<system.applicationHost>
<webLimits connectionTimeout="00:01:00"
dynamicIdleThreshold="150"
headerWaitTimeout="00:00:30"
minBytesPerSecond="500"
/>
</system.applicationHost>
</configuration>
Como referencia: puede encontrar más información sobre estas configuraciones en IIS aquí . Además, no pude agregar esta sección a web.config a través del "editor de configuración" del administrador IIS, aunque apareció una vez que lo agregué y busqué la configuración.
ConnectionTimeout
, no httpRuntime's executionTimeout
.
A continuación se detallan los pasos para solucionar su problema.
Sé que la pregunta era sobre ASP, pero tal vez alguien encuentre útil esta respuesta.
Si tiene un servidor detrás de IIS 7.5 (por ejemplo, Tomcat). En mi caso tengo una granja de servidores con el servidor Tomcat configurado. En tal caso, puede cambiar el tiempo de espera con el Administrador de IIS:
o puede cambiarlo en el archivo cofig:
Ejemplo:
<webFarm name="${SERVER_NAME}" enabled="true">
<server address="${SERVER_ADDRESS}" enabled="true">
<applicationRequestRouting httpPort="${SERVER_PORT}" />
</server>
<applicationRequestRouting>
<protocol timeout="${TIME}" />
</applicationRequestRouting>
</webFarm>
El $ {TIME} está en formato HH: mm: ss (por lo tanto, si desea establecerlo en 90 segundos, póngalo allí 00:01:30)
En el caso de Tomcat (y probablemente otros contenedores de servlets), debe recordar cambiar el tiempo de espera en % TOMCAT_DIR% \ conf \ server.xml (solo busque el atributo connectionTimeout en la etiqueta del conector y recuerde que se especifica en milisegundos )
Use el siguiente comando de Power Shell para cambiar el tiempo de espera de ejecución (Solicitar tiempo de espera)
Tenga en cuenta que he dado esto para el sitio web predeterminado, antes de usarlos, cambie el sitio y luego intente usarlo.
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site' -filter "system.web/httpRuntime" -name "executionTimeout" -value "00:01:40"
O bien, puede usar el siguiente código de C # para hacer lo mismo
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample {
private static void Main() {
using(ServerManager serverManager = new ServerManager()) {
Configuration config = serverManager.GetWebConfiguration("Default Web Site");
ConfigurationSection httpRuntimeSection = config.GetSection("system.web/httpRuntime");
httpRuntimeSection["executionTimeout"] = TimeSpan.Parse("00:01:40");
serverManager.CommitChanges();
}
}
}
O bien, puede usar JavaScript para hacer esto.
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var httpRuntimeSection = adminManager.GetAdminSection("system.web/httpRuntime", "MACHINE/WEBROOT/APPHOST/Default Web Site");
httpRuntimeSection.Properties.Item("executionTimeout").Value = "00:01:40";
adminManager.CommitChanges();
O bien, puede usar los comandos de AppCmd.
appcmd.exe set config "Default Web Site" -section:system.web/httpRuntime /executionTimeout:"00:01:40"