asp.net iis iis-7 web-config iis-7.5

asp.net - ¿Cómo aumentar el tiempo de espera de solicitud en IIS?



iis-7 web-config (6)

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 TimeSpan opcional.

Especifica la cantidad máxima de segundos que se permite ejecutar una solicitud antes de que ASP.NET la cierre automáticamente.

Este tiempo de espera solo se aplica 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 configure este tiempo de espera en un valor grande.

El valor predeterminado es "00:01:50" (110 segundos).

¿Cómo aumentar el tiempo de espera de solicitud en IIS 7.0? Lo mismo se hace en la pestaña de la aplicación en configuraciones de configuración ASP en IIS 6.0. No puedo encontrar la sección de configuración de asp.net en IIS 7.0


En IIS> = 7, una sección <webLimits> ha reemplazado las configuraciones de metabase de ConnectionTimeout , HeaderWaitTimeout , MaxGlobalBandwidth y MinFileBytesPerSec IIS 6.

Configuración de ejemplo:

<configuration> <system.applicationHost> <webLimits connectionTimeout="00:01:00" dynamicIdleThreshold="150" headerWaitTimeout="00:00:30" minBytesPerSecond="500" /> </system.applicationHost> </configuration>

Para referencia: más información sobre estas configuraciones en IIS se puede encontrar aquí . Además, no pude agregar esta sección a web.config a través del "editor de configuración" del administrador de IIS, aunque se mostró una vez que lo agregué y busqué la configuración.


En el Administrador de IIS, haga clic derecho en el sitio y vaya a Administrar sitio web -> Configuración avanzada. Allí, en Límites de conexión, debería ver el 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 agrega 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 es 110 segundos para .NET 2.0 y posterior.


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 usando el Administrador de IIS:

  • vaya a Granjas de servidores -> {Nombre del servidor} -> Proxy
  • cambie el valor en el cuadro de entrada Time-out
  • haga clic en Aplicar (esquina superior derecha)

o puedes cambiarlo en el archivo cofig:

  • abrir % WinDir% / System32 / Inetsrv / Config / applicationHost.config
  • ajuste la configuración del servidor webFarm para que sea similar a la siguiente

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, escriba allí 00:01:30)

En el caso de Tomcat (y probablemente otros contenedores de servlets), debe recordar cambiar el tiempo de espera en el atributo% TOMCAT_DIR% / conf / server.xml (solo busque el atributo connectionTimeout en la etiqueta del conector y recuerde que está especificado en milisegundos )


Use el siguiente comando Power shell para cambiar el tiempo de espera de ejecución (Tiempo de espera de la solicitud)

Tenga en cuenta que he dado esto para el sitio web predeterminado, antes de usar estos, cambie el sitio y luego intente utilizarlo.

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 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 el 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"