Share via


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()