Elemento httpRuntime (Esquema de configuración de ASP.NET)

Establece los valores de configuración HTTP de ASP.NET en tiempo de ejecución que determinan cómo se procesa una solicitud de una aplicación ASP.NET.

<httpRuntime
   apartmentThreading = "[True|False]"
   appRequestQueueLimit = "number"
   delayNotificationTimeout = "number"
   enable = "[True|False]" 
   enableHeaderChecking = "[True|False]" 
   enableKernelOutputCache = "[True|False]" 
   enableVersionHeader = "[True|False]" 
   encoderType = "name"
   executionTimeout = "number"   
   maxRequestLength = "number" 
   maxWaitChangeNotification = "number" 
   minFreeThreads = "number" 
   minLocalRequestFreeThreads = "number" 
   requestLengthDiskThreshold = "number" 
   requestValidationMode = "[2.0|4.0]"
   requestValidationType = "name"
   requireRootedSaveAsPath = "[True|False]"
   sendCacheControlHeader = "[True|False]" 
   shutdownTimeout = "number"
   useFullyQualifiedRedirectUrl = "[True|False]" 
   waitChangeNotification = "number" 
/>

Atributos y elementos

En las secciones siguientes se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

Atributo

Descripción

apartmentThreading

Atributo Boolean opcional.

Habilita los subprocesos de apartamento para la compatibilidad con ASP clásica.

El tipo predeterminado es False.

appRequestQueueLimit

Atributo Int32 opcional.

Especifica el número máximo de solicitudes que ASP.NET coloca en la cola de la aplicación. Cuando no hay suficientes subprocesos libres para procesar las solicitudes, éstas se dejan en una cola. Las solicitudes entrantes se rechazarán con el mensaje de error "503 - Server Too Busy" (servidor ocupado) cuando la cola supere el límite especificado en este atributo.

El valor predeterminado es 5000. En las versiones 1.0 y 1.1 de .NET Framework, el valor predeterminado es 100.

delayNotificationTimeout

Atributo Int32 opcional.

Especifica el tiempo de espera en segundos para retrasar las notificaciones.

El valor predeterminado es 5.

enable

Atributo Boolean opcional.

Especifica si el dominio de aplicación (AppDomain) está habilitado para aceptar las solicitudes entrantes en el nodo actual y en los nodos secundarios. Si su valor es False, la aplicación está desactivada.

El valor predeterminado es True.

enableHeaderChecking

Atributo Boolean opcional.

Especifica si ASP.NET debe comprobar si el encabezado de la solicitud sufre posibles ataques de inyección. Si se detecta un ataque, ASP.NET responde con un error.

El valor predeterminado es True.

enableKernelOutputCache

Atributo Boolean opcional.

Especifica si está habilitado el almacenamiento en la caché de resultados. Este atributo es relevante sólo si está instalado Microsoft Internet Information Services (IIS) 6.0 o posterior. La configuración del almacenamiento en la caché de resultados y el tipo de solicitud determinan si el contenido puede almacenarse en caché.

Para almacenar una respuesta en la memoria caché, deben cumplirse los siguientes criterios:

  • El almacenamiento en caché debe habilitarse explícitamente mediante una directiva de página o la API de almacenamiento en caché.

  • El almacenamiento en caché debe tener una directiva de expiración de modo que la memoria del kernel sepa cuándo debe descartar la respuesta.

  • El almacenamiento en caché no tiene encabezados ni parámetros variables.

  • La autenticación no es necesaria.

El valor predeterminado es True.

enableVersionHeader

Atributo Boolean opcional.

Especifica si ASP.NET debe generar un encabezado de versión. Microsoft Visual Studio 2005 usa este atributo para determinar qué versión de ASP.NET se está utilizando. No es necesario para los sitios de producción y se puede deshabilitar.

NotaNota
Este atributo no está disponible en .NET Framework 1.0.

El valor predeterminado es True.

encoderType

Obtiene o establece el nombre de un tipo personalizado que se puede utilizar para administrar la codificación de HTML y de direcciones URL.

ASP.NET usa el tipo HttpEncoder como el controlador predeterminado para HTML y tareas de codificación de dirección URL. Para personalizar el comportamiento de codificación, puede crear una clase que hereda del tipo HttpEncoder. En el archivo de configuración para una aplicación, se establece el atributo EncoderType del elemento httpRuntime en el nombre de cadena completo del tipo personalizado.

Este atributo es nuevo en la versión 4 de .NET Framework.

executionTimeout

Atributo Int32 opcional.

Especifica, en segundos, el tiempo máximo durante el cual una solicitud puede ejecutarse antes de que ASP.NET la cierre automáticamente.

Este tiempo de espera sólo se aplica si el atributo de depuración del elemento compilation tiene el valor False. Si el atributo debug es True, para ayudar a evitar que se cierre la aplicación mientras realiza la depuración, no establezca este tiempo de espera en un valor alto.

El valor predeterminado es 110. En .NET Framework 1.0 y 1.1, el valor predeterminado es 90 segundos.

maxRequestLength

Atributo Int32 opcional.

Especifica, en KB, el límite del umbral del almacenamiento en búfer de los flujos de entrada. Este límite puede usarse para los ataques de denegación de servicio que se producen, por ejemplo, cuando los usuarios envían archivos de gran tamaño al servidor.

El valor predeterminado es 4096. Si se supera el umbral, se produce una excepción ConfigurationErrorsException.

maxWaitChangeNotification

Atributo Int32 opcional.

Especifica el número máximo de segundos que se debe esperar desde la primera notificación de cambios del archivo antes de reiniciar AppDomain para una nueva solicitud. Establezca el valor de este atributo en un número mayor que el tiempo que tardan los procesos de copia de archivo en finalizar. Las notificaciones de cambios del archivo se combinan basándose en el valor de este atributo y del atributo waitChangeNotification.

El valor predeterminado es 0.

minFreeThreads

Atributo Int32 opcional.

Especifica el número mínimo de subprocesos libres para permitir la ejecución de nuevas solicitudes. ASP.NET mantiene libre el número especificado de subprocesos para atender las solicitudes que requieran subprocesos adicionales para completar su procesamiento.

El valor predeterminado es 8.

minLocalRequestFreeThreads

Atributo Int32 opcional.

Especifica el número mínimo de subprocesos libres que ASP.NET mantiene disponibles para permitir la ejecución de nuevas solicitudes locales. El número especificado de subprocesos se mantiene reservado para las solicitudes procedentes del host local, en previsión de que algunas generen solicitudes secundarias al host local durante su procesamiento. Esto ayuda a evitar un posible interbloqueo con una nueva entrada recursiva en el servidor Web.

El valor predeterminado es 4.

requestLengthDiskThreshold

Atributo Int32 opcional.

Especifica, en kilobytes, el límite del umbral del almacenamiento en búfer de los flujos de entrada. Este valor no debe superar el valor del atributo maxRequestLength.

El valor predeterminado es 80.

requestValidationMode

Atributo Int32 opcional.

Obtiene o establece un número de versión que indica qué enfoque de validación específico de la versión de ASP.NET se va a usar.

El valor que tiene asignado a esta propiedad no se valida para que coincida con una versión concreta de ASP.NET. Cualquier valor numérico menor que 4.0 (por ejemplo, 3.7, 2.9 o 2.0) se interpreta como 2.0. Cualquier número mayor que 4.0 se interpreta como 4.0.

El tipo predeterminado es 4.0.

requestValidationType

Atributo String opcional.

Obtiene o establece el nombre de un tipo que se utiliza para validar las solicitudes HTTP.

Para personalizar el comportamiento de validación de solicitudes de ASP.NET, puede crear una clase que hereda del tipo RequestValidator. En el archivo de configuración para una aplicación, se establece el atributo requestValidationType del elemento httpRuntime en el nombre de cadena completo del tipo personalizado.

El valor predeterminado es el nombre completo del tipo de RequestValidator que ASP.NET utiliza para la validación.

requireRootedSaveAsPath

Atributo Boolean opcional.

Especifica si el parámetro filename de un método SaveAs debe ser una ruta de acceso absoluta. El proceso de ASP.NET debe tener permiso para crear archivos en la ubicación especificada.

El valor predeterminado es True.

sendCacheControlHeader

Atributo Boolean opcional.

Especifica si se envía un encabezado de control de caché; su valor se establece en Private de manera predeterminada. Si su valor es True, estará deshabilitado el almacenamiento en caché en el cliente.

El valor predeterminado es True.

shutdownTimeout

Atributo Int32 opcional.

Especifica el número de segundos que se conceden al proceso de trabajo para que se cierre por sí mismo. Una vez expirado este plazo, ASP.NET cierra el proceso de trabajo.

El valor predeterminado es 90 segundos.

useFullyQualifiedRedirectUrl

Atributo Boolean opcional.

Especifica si los redireccionamientos de cliente son completos, con el formato "https://server/path", lo cual es necesario para algunos controles móviles, o si en su lugar se envían al cliente redireccionamientos relativos. Si su valor es True, todas las redirecciones no completas se convierten automáticamente en completas.

NotaNota
Si el atributo se establece en False, puede que algunos exploradores tengan problemas al cargar páginas en sesiones sin cookies.

El tipo predeterminado es False.

waitChangeNotification

Atributo Int32 opcional.

Especifica el tiempo, en segundos, que se debe esperar hasta otra notificación de cambios del archivo antes de reiniciar AppDomain. Establezca este atributo en un número mayor que el tiempo que transcurre entre las actualizaciones de dos notificaciones de cambios de la copia de archivo. Las notificaciones de cambios del archivo se combinan basándose en el valor de este atributo y del atributo maxWaitChangeNotification .

El valor predeterminado es 0.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento

Descripción

configuration

Elemento raíz requerido de cada archivo de configuración utilizado por Common Language Runtime y las aplicaciones de .NET Framework.

system.web

Especifica el elemento raíz de los valores de configuración ASP.NET en un archivo de configuración y contiene elementos de configuración que configuran las aplicaciones Web ASP.NET y controlan el comportamiento de las aplicaciones.

Comentarios

El elemento httpRuntime establece los valores de configuración HTTP de ASP.NET en tiempo de ejecución que determinan cómo se procesa una solicitud de una aplicación ASP.NET. .NET Framework proporciona varios hosts en tiempo de ejecución, incluido el host en tiempo de ejecución de ASP.NET. Cuando entra una solicitud, ASP.NET carga el valor en tiempo de ejecución en el proceso que debe controlar la solicitud. ASP.NET crea también un dominio de aplicación para cada aplicación Web que se vaya a ejecutar en un servidor Web.

Configuración predeterminada

El elemento httpRuntime no se define explícitamente en el archivo Machine.config ni en el archivo Web.config raíz. Sin embargo, los siguientes son los valores predeterminados que inicializa el sistema. Si necesita personalizar esta sección, debe crearla en su archivo de configuración y debe definir sólo los atributos que necesitan personalización.

<httpRuntime 
   executionTimeout="110"
   maxRequestLength="4096"
   requestLengthDiskThreshold="80"
   useFullyQualifiedRedirectUrl="false"
   minFreeThreads="8"
   minLocalRequestFreeThreads="4"
   appRequestQueueLimit="5000"
   enableKernelOutputCache="true"
   enableVersionHeader="true"
   requireRootedSaveAsPath="true"
   enable="true"
   shutdownTimeout="90"
   delayNotificationTimeout="5"
   waitChangeNotification="0"
   maxWaitChangeNotification="0"
   requestPriority="Normal"
   enableHeaderChecking="true"
   sendCacheControlHeader="true"
   apartmentThreading="false"
/>

Ejemplo

En el ejemplo siguiente se muestra cómo especificar los parámetros HTTP del motor en tiempo de ejecución para una aplicación ASP.NET.

<configuration>
  <system.web>
  <httpRuntime maxRequestLength="4000"
    enable = "True"
    requestLengthDiskThreshold="512
    useFullyQualifiedRedirectUrl="True"
    executionTimeout="45"
    versionHeader="1.1.4128"/>
  </system.web>
</configuration>

Información de elemento

Controlador de la sección de configuración

HttpRuntimeSection

Miembro de configuración

HttpRuntime

Ubicaciones configurables

Machine.config

Web.config del nivel raíz

Web.config del nivel de aplicaciones

Web.config del nivel de directorio virtual o físico

Requisitos

Microsoft Internet Information Services (IIS) versión 5.0, 5.1 o 6.0

.NET Framework 1.0, 1.1 ó 2.0

Microsoft Visual Studio 2003 o Visual Studio 2005

Vea también

Referencia

Elemento system.web (Esquema de configuración de ASP.NET)

Elemento configuration (Esquema de configuración general)

System.Configuration

HttpRuntimeSection

HttpRuntime

Conceptos

Almacenar en caché páginas ASP.NET

Jerarquía de archivos y herencia de la configuración de ASP.NET

Proteger la configuración de ASP.NET

Otros recursos

Opciones de configuración generales (ASP.NET)

Opciones de configuración de ASP.NET

Administración de sitios web ASP.NET