HttpErrorsSection (clase)
Configura el control de errores HTTP para un servidor web.
Sintaxis
class HttpErrorsSection : ConfigurationSectionWithCollection
Métodos
En la tabla siguiente se enumeran los métodos que expone la clase HttpErrorsSection
.
Nombre | Descripción |
---|---|
Add (Agregar) | (Se hereda de ConfigurationSectionWithCollection). |
Borrar | (Se hereda de ConfigurationSectionWithCollection ). |
Get | (Se hereda de ConfigurationSectionWithCollection ). |
GetAllowDefinition | (Se hereda de ConfigurationSection). |
GetAllowLocation | (Se hereda de ConfigurationSection ). |
Remove | (Se hereda de ConfigurationSectionWithCollection ). |
RevertToParent | (Se hereda de ConfigurationSection ). |
SetAllowDefinition | (Se hereda de ConfigurationSection ). |
SetAllowLocation | (Se hereda de ConfigurationSection ). |
Propiedades
La siguiente tabla muestra las propiedades que expone la clase HttpErrorsSection
.
Nombre | Descripción |
---|---|
DefaultPath |
Un valor string opcional que contiene la ruta de acceso predeterminada de un archivo de error HTTP o una dirección URL. Si es nonempty, la propiedad Path de los objetos HttpErrorElement recién creados hereda este valor. |
DefaultResponseMode |
Un valor sint32 opcional que configura la respuesta predeterminada a los errores HTTP. Si es nonempty, la propiedad ResponseMode de los objetos HttpErrorElement recién creados hereda este valor. Los valores posibles se enumeran más adelante en la sección Comentarios. |
DetailedMoreInformationLink |
Un valor string de lectura y escritura opcional que especifica la dirección URL de un vínculo, que se muestra en la parte inferior de la página, a una página con información más detallada sobre el error que se generó. Los valores status , substatus , hresult y messageid del error se envían como parte de la cadena de consulta. Puede usar esta propiedad para dirigir a los usuarios finales a una ubicación personalizada para obtener información del error. El valor predeterminado es https://go.microsoft.com/fwlink/?LinkID=62293. |
ErrorMode |
Enumeración sint32 de lectura y escritura que especifica si la funcionalidad de error detallada está habilitada, deshabilitada o solo se muestra a los clientes locales. Los valores posibles se enumeran más adelante en la sección Comentarios. |
ExistingResponse |
Enumeración sint32 de lectura y escritura que especifica cómo IIS controla los errores personalizados existentes. Los valores posibles se enumeran más adelante en la sección Comentarios. |
HttpErrors |
Una matriz de valores HttpErrorElement que configuran el control de errores HTTP específicos. |
Location |
(Se hereda de ConfigurationSection ). Una propiedad clave. |
Path |
(Se hereda de ConfigurationSection ). Una propiedad clave. |
SectionInformation |
(Se hereda de ConfigurationSection ). |
Subclases
Esta clase no contiene subclases.
Comentarios
Esta clase expone la configuración en la sección <httpErrors>
de un archivo de configuración.
Los errores personalizados representados por la clase HttpErrorsSection
están relacionados con IIS 7 y están en el espacio de nombres System.WebServer.Configuration. Cada uno de estos errores se representa mediante una instancia de la clase HttpErrorElement.
Los errores personalizados representados por la clase CustomErrorsSection son específicos de ASP.NET y están en el espacio de nombres System.Web. Cada uno de estos errores se representa mediante una instancia de la clase CustomError.
En la siguiente tabla se describen los posibles valores de la propiedad DefaultResponseMode
. El valor predeterminado es 0 (File
).
Valor | Palabra clave | Descripción |
---|---|---|
0 | File |
El servidor web devuelve la página web a partir del archivo estático especificado en la propiedad Path de la clase HttpErrorElement . Nota: Los errores personalizados son específicos del idioma y normalmente devuelven el error personalizado en el idioma del cliente. Esto requiere que el paquete de idioma del cliente esté instalado. La ruta de acceso del archivo se crea de la siguiente manera: PrefixLanguageFilePath\ClientLanguageID\ErrorCodeFile Por ejemplo, si PrefixLanguageFilePath es "d:\inetpub\custerr", el explorador del cliente envía "en-us" en el encabezado Accept-Language y el código de error es 404, la ruta de acceso resultante cuando se instala el paquete de idioma en-US es d:\inetpub\custerr\en-us\404.htm. Si ja-JP es el idioma del sistema, y el paquete de idioma en-US no está instalado, la ruta de acceso resultante es d:\inetpub\custerr\ja-jp\404.htm. |
1 | ExecuteURL |
El servidor web devuelve la página ASP interna especificada en la propiedad Path de la clase HttpErrorElement . La dirección URL debe estar en el ámbito del mismo grupo de aplicaciones. Nota: En IIS 7, el redireccionamiento crea una dirección URL con el siguiente formato (los elementos entre corchetes son opcionales): /<CustomErrorPage>[?<QueryString>]&resourcePath=<OriginalURL>[?<OriginalQueryString>]&statusCode=<StatusCode> |
2 | Redirect |
El servidor web proporciona una respuesta HTTP 302 Found e incluye la dirección URL especificada en la propiedad Path de la clase HttpErrorElement en el campo Location de la respuesta. Si la respuesta es un método GET en lugar de un método HEAD , también debe incluir una entidad que tenga un hipervínculo corto a la nueva dirección URL. Nota: En IIS 7, el redireccionamiento crea una dirección URL con el siguiente formato (los elementos entre corchetes son opcionales): /<CustomErrorPage>[?<QueryString>]&resourcePath=<OriginalURL>[?<OriginalQueryString>]&statusCode=<StatusCode> |
En la siguiente tabla se describen los posibles valores de la propiedad ErrorMode
. El valor predeterminado es 0 (DetailedLocalOnly
).
Valor | Palabra clave | Descripción |
---|---|---|
0 | DetailedLocalOnly |
Solo se genera una respuesta de error detallada si la solicitud procede del equipo local. Si la solicitud procede de una dirección externa, el servidor genera una respuesta de error personalizada. Nota: El valor de la propiedad ExistingResponse determina si se genera un error detallado o personalizado. |
1 | Custom |
El error que el módulo o el servidor generan se reemplaza por una página personalizada que se especifique. Este modo es útil para proporcionar mensajes de error más sencillos a los usuarios finales. Nota: Esta configuración desactiva los errores detallados, incluso para las solicitudes locales. |
2 | Detailed |
Se muestra una página con información detallada sobre el error de la aplicación, pero no se muestran los errores personalizados. Este modo es útil para probar y depurar sitios y aplicaciones web. Nota: Es un riesgo de seguridad establecer ErrorMode en Detailed , ya que incluso los clientes remotos recibirán información detallada de errores que podría provocar la divulgación de información no deseada. |
En la siguiente tabla se describen los posibles valores de la propiedad ExistingResponse
. El valor predeterminado es 0 (Auto
).
Valor | Palabra clave | Descripción |
---|---|---|
0 | Auto |
La respuesta depende de la primera coincidencia correcta del siguiente conjunto de condiciones ordenadas: 1. Si se llamó al método IHttpResponse::SetStatus mediante la marca fTrySkipCustomErrors , se pasa la respuesta existente, pero no se muestra ningún error detallado ni personalizado.2. Si la propiedad ErrorMode está establecida en Custom , la respuesta se reemplaza.3. Si ErrorMode se establece en Detailed y hay una respuesta existente, la respuesta se pasa.4. Si ErrorMode se establece en Detailed y no hay una respuesta existente, la respuesta se reemplaza con un error detallado. |
1 | Replace |
La respuesta existente siempre se reemplaza, independientemente de cómo se llame a SetStatus . |
2 | PassThrough |
Siempre se usa la respuesta existente. |
Ejemplo
En el ejemplo de código siguiente se especifican nuevos valores para las propiedades DefaultPath
, ErrorMode
y DetailedMoreInformationLink
. Una función de asistente muestra los valores de la sección de configuración antes y después del cambio.
' Connect to the WMI WebAdministration namespace.
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")
' Get the HTTP errors section.
Set oSection = oWebAdmin.Get( _
"HttpErrorsSection.Path='" & _
"MACHINE/WEBROOT/APPHOST/',Location=''")
' Display the class name of the section.
WScript.Echo "[ " & oSection.Path_.Class & " ]"
' Display the initial values.
Call DisplayValues("Initial Values", oSection)
' Specify the path of a default error page.
oSection.DefaultPath = _
"D:\inetpub\custerr\en-US\contoso\DefaultErrorPage.htm"
' Specify a detailed more information link.
oSection.DetailedMoreInformationLink = "http://www.contoso.com/MoreInfo.htm"
'Set the ErrorMode property to Custom.
oSection.ErrorMode = 1
' Save the values to configuration.
oSection.Put_
' Refresh the oSection object variable with the new values.
oSection.Refresh_
' Display the changed values.
Call DisplayValues("New Values", oSection)
' ==== DisplayValues helper function. ====
Function DisplayValues(HeadingText, oSection)
' Display a heading.
WScript.Echo
WScript.Echo HeadingText
WScript.Echo String(Len(HeadingText), "-")
' Display the non-embedded section properties.
For Each prop In oSection.Properties_
If Left( _
Prop.Qualifiers_("CIMTYPE"), 6) _
<> "object" then
WScript.Echo prop.Name & ": " & prop.Value
End If
Next
End Function
Jerarquía de herencia
ConfigurationSectionWithCollection
HttpErrorsSection
Requisitos
Tipo | Descripción |
---|---|
Remoto | - IIS 7.0 en Windows Vista - IIS 7.5 en Windows 7 - IIS 8.0 en Windows 8 - IIS 10.0 en Windows 10 |
Server | - IIS 7.0 en Windows Server 2008 - IIS 7.5 en Windows Server 2008 R2 - IIS 8.0 en Windows Server 2012 - IIS 8.5 en Windows Server 2012 R2 - IIS 10.0 en Windows Server 2016 |
Producto | - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0 |
Archivo MOF | WebAdministration.mof |
Consulte también
ConfigurationSection (clase)
ConfigurationSectionWithCollection (clase)
CustomError (clase)
CustomErrorsSection (clase)
HttpErrorElement (clase)
IHttpResponse::SetStatus (método)