Validación <validation>
Información general
El elemento <validation>
configura Internet Information Services (IIS) 7 para detectar si es necesario cambiar una aplicación de ASP.NET configurada para ejecutarse en el modo clásico de .NET para que funcione correctamente en modo integrado.
IIS genera un mensaje de error de migración si el atributo validateIntegratedModeConfiguration se establece en true y uno de los siguientes también es true:
La aplicación define una
<httpModules>
sección en su archivo Web.config.En el modo integrado de IIS 7, los módulos de ASP.NET se especifican con módulos nativos en una sección de <módulos> unificados en <system.webServer>.
La aplicación define una sección
<httpHandlers>
en su archivo Web.config.En el modo integrado de IIS 7, las asignaciones de controladores de ASP.NET se especifican en una sección de <controladores> unificados dentro de < system.webServer>. La sección de <controladores> reemplaza las configuraciones de asignación de procesador de scripts de ASP.NET
<httpHandlers>
e IIS, que eran necesarias para configurar una asignación de controladores de ASP.NET 1.0.El archivo Web.config de la aplicación especifica
<identity impersonate="true" />
.En el modo integrado de IIS 7, la suplantación de cliente no está disponible en algunas fases de procesamiento de solicitudes tempranas. Por lo tanto, IIS generará el mensaje de error de migración. Si la aplicación web de ASP.NET suplanta las credenciales de cliente (lo más común con escenarios de intranet), es posible que desee establecer el atributo validateIntegratedModeConfiguration en false.
Nota:
Si migra la configuración manualmente o no migra la configuración, pero quiere que IIS permanezca en modo integrado (lo que no se recomienda), puede deshabilitar los mensajes de error de migración estableciendo el atributo validateIntegratedModeConfiguration en false. Dado que IIS ya no proporcionará advertencias para configuraciones no admitidas cuando validateIntegratedModeConfiguration es false, asegúrese de que la aplicación funciona correctamente en modo integrado antes de realizar esta configuración.
Compatibilidad
Versión | Notas |
---|---|
IIS 10.0 | El elemento <validation> no se modificó en IIS 10.0. |
IIS 8.5 | El elemento <validation> no se modificó en IIS 8.5. |
IIS 8.0 | El elemento <validation> no se modificó en IIS 8.0. |
IIS 7.5 | El elemento <validation> no se modificó en IIS 7.5. |
IIS 7.0 | El elemento <validation> se introdujo en IIS 7.0. |
IIS 6,0 | N/D |
Configuración
El elemento <validation>
se incluye en la instalación predeterminada de IIS 7.
Procedimientos
No hay ninguna interfaz de usuario para agregar validación para IIS 7. Para obtener ejemplos de cómo acceder al elemento mediante programación, consulte la sección Ejemplos de código de este documento.
Configuración
Atributos
Atributo | Descripción |
---|---|
validateIntegratedModeConfiguration |
Atributo Boolean opcional. Especifica si la validación de configuración está habilitada cuando se ejecuta en modo integrado. Las secciones <system.Web/httpHandlers> y <system.Web/httpModules> , así como la suplantación, se comprueban durante este proceso.El valor predeterminado es true . |
Elementos secundarios
Ninguno.
Ejemplo de configuración
En el ejemplo de configuración siguiente se habilita la validación. > [!NOTA]
Este extracto procede de un archivo Web.config, por lo que este ejemplo de configuración se puede usar en cualquier nivel de carpeta dentro de un sitio web.
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="true" />
</system.webServer>
</configuration>
Código de ejemplo
Los ejemplos de código siguientes habilitan la validación del sitio web predeterminado.
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/validation /validateIntegratedModeConfiguration:"True"
C#
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 validationSection = config.GetSection("system.webServer/validation");
validationSection["validateIntegratedModeConfiguration"] = true;
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")
Dim validationSection As ConfigurationSection = config.GetSection("system.webServer/validation")
validationSection("validateIntegratedModeConfiguration") = True
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var validationSection = adminManager.GetAdminSection("system.webServer/validation", "MACHINE/WEBROOT/APPHOST/Default Web Site");
validationSection.Properties.Item("validateIntegratedModeConfiguration").Value = true;
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"
Set validationSection = adminManager.GetAdminSection("system.webServer/validation", "MACHINE/WEBROOT/APPHOST/Default Web Site")
validationSection.Properties.Item("validateIntegratedModeConfiguration").Value = True
adminManager.CommitChanges()