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

[Esta documentación se proporciona solo para fines preliminares y está sujeta a cambios en versiones posteriores. Se incluye temas en blanco como marcadores].

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 = "string"
   executionTimeout = "number" 
   maxQueryStringLength = "number"
   maxRequestLength = "number" 
   maxUrlLength = "number"
   maxWaitChangeNotification = "number" 
   minFreeThreads = "number" 
   minLocalRequestFreeThreads = "number" 
   relaxedUrlToFileSystemMapping = "[True|False]"
   requestLengthDiskThreshold = "number" 
   requestPathInvalidCharacters = "string"
   requestValidationMode = "[2.0|4.0]"
   requestValidationType = "string"
   requireRootedSaveAsPath = "[True|False]"
   sendCacheControlHeader = "[True|False]" 
   shutdownTimeout = "number"
   targetFramework = "number"   useFullyQualifiedRedirectUrl = "[True|False]" 
   waitChangeNotification = "number" />

Atributos y elementos

En las próximas secciones 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 valor 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.

delayNotificationTimeout

Atributo Int32 opcional.

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

El valor predeterminado es 5 segundos.

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.0 de .NET Framework.

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.

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

El valor predeterminado es True.

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 se aplica sólo si el atributo debug de la compilation es el elemento False . Por lo tanto, si el debug es True , no es necesario establecer este atributo a un valor grande a fin de evitar el cierre de la aplicación durante la depuración.

El valor predeterminado es 110 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 KB. 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.

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.9o 2.0) se interpreta como 2.0. Cualquier número mayor que 4.0 se interpreta como 4.0.

El valor 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, a continuación, establece la requestValidationType atributo de la httpRuntime elemento para el nombre de la cadena completa del tipo personalizado

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

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 KB.

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 minutos 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.

targetFramework

Atributo String opcional.

Especifica el número de versión que indica qué marco de la específica de la versión de Common Language Runtime (CLR) que se va a utilizar. Si se omite este atributo, se establece el marco de destino a la 4.0.

El valor predeterminado es Null.

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.

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

El valor 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 segundos.

maxQueryStringLength

Atributo Int32 opcional.

Longitud máxima de la cadena de consulta, en número de caracteres. El valor predeterminado es 2048.

El valor de la propiedad MaxQueryStringLength puede ser un entero, cero o mayor. Si la longitud de una cadena de consulta supera el límite del tamaño, ASP.NET devuelve un código de estado HTTP 400 (Solicitud incorrecta).

NoteNote
Los valores sumamente pequeños pueden hacer un sitio web inutilizable.
NoteNote
También es una configuración de IIS que controla la longitud de la cadena de consulta.Consulte el maxQueryString el atributo en el Los límites de solicitud de <requestLimits>.

maxUrlLength

Atributo Int32 opcional.

La longitud máxima de la dirección URL, en el número de caracteres. El valor predeterminado es 260.

El valor de la propiedad MaxUrlLength puede ser un entero, cero o mayor.

Si la longitud de la dirección URL solicitada (que es el valor de la propiedad Path) supera el límite de tamaño configurado, ASP.NET devuelve un código de estado HTTP 400 (Solicitud incorrecta).

NoteNote
Los valores sumamente pequeños pueden hacer un sitio web inutilizable. También es una configuración de IIS que controla la longitud de la cadena de consulta.Consulte el maxQueryString el atributo en el Los límites de solicitud de <requestLimits>.

relaxedUrlToFileSystemMapping

Atributo Boolean opcional.

Indica si la dirección URL en una solicitud HTTP debe ser una ruta de acceso de archivo de Windows válida.

La propiedad RelaxedUrlToFileSystemMapping determina cómo se validará la dirección URL en una solicitud HTTP de entrada. Si esta propiedad es false, la dirección URL se valida usando las mismas reglas que determinan si una ruta de sistema de archivos de Windows es válida.

requestPathInvalidCharacters

Atributo String opcional.

Una lista separada por comas de caracteres no válidos en una ruta de acceso de la solicitud. La siguiente lista contiene el conjunto predeterminado de caracteres no válidos:

<,>,*,%,&,:,\

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 de ASP.NET en un archivo de configuración y contiene elementos de configuración que configuran 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 
   apartmentThreading="false"
   appRequestQueueLimit="5000"
   delayNotificationTimeout="5"
   enable="true"
   enableHeaderChecking="true"
   enableKernelOutputCache="true"
   enableVersionHeader="true"
   encoderType = "System.Web.Util.HttpEncoder"
   executionTimeout="110"
   maxQueryStringLength = "2048"
   maxRequestLength="4096"
   maxUrlLength = "260"
   maxWaitChangeNotification="0"
   minFreeThreads="8"
   minLocalRequestFreeThreads="4"
   relaxedUrlToFileSystemMapping = "False"
   requestLengthDiskThreshold="80"
   requestPathInvalidCharacters = "<,>,*,%,&,:,\"
   requestValidationMode = "4.0"
   requestValidationType = "System.Web.Util.RequestValidator"
   requireRootedSaveAsPath="true"
   sendCacheControlHeader="true"
   shutdownTimeout="90"
   useFullyQualifiedRedirectUrl="false"
   waitChangeNotification="0" />

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) 5.0 o posterior

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

Securing Configuration

Otros recursos

Opciones de configuración generales (ASP.NET)

Configuring ASP.NET Applications