Validação <validation>
Visão geral
O elemento <validation>
configura o IIS (Serviços de Informações da Internet) 7 para detectar se um aplicativo ASP.NET configurado para ser executado no modo .NET clássico precisa ser alterado para funcionar corretamente no modo Integrado.
O IIS gerará uma mensagem de erro de migração se o atributo validateIntegratedModeConfiguration estiver definido como true e uma das seguintes opções também for verdadeira:
Seu aplicativo define uma seção
<httpModules>
em seu arquivo Web.config.No modo integrado do IIS 7, os módulos do ASP.NET são especificados com módulos nativos em uma seção unificada <modules> em <system.webServer>.
Seu aplicativo define uma seção
<httpHandlers>
em seu arquivo Web.config.No modo integrado do IIS 7, os mapeamentos do manipulador de ASP.NET são especificados em uma seção unificada de <manipuladores> dentro de <system.webServer>. A seção <manipuladores> substitui as configurações de mapeamento do processador de script do IIS e
<httpHandlers>
do ASP.NET, que eram necessárias para configurar um mapeamento de manipulador ASP.NET 1.0.O arquivo Web.config do aplicativo especifica
<identity impersonate="true" />
.No Modo Integrado do IIS 7, a representação do cliente não está disponível em alguns estágios iniciais do processamento de solicitações. Portanto, o IIS gerará a mensagem de erro de migração. Se o aplicativo Web ASP.NET representar credenciais de cliente (mais comuns em cenários de intranet), convém definir o atributo validateIntegratedModeConfiguration como false.
Observação
Se você migrar sua configuração manualmente ou não migrar sua configuração, mas quiser que o IIS permaneça no modo Integrado (o que não é aconselhável), poderá desabilitar mensagens de erro de migração definindo o atributo validateIntegratedModeConfiguration como false. Como o IIS não fornecerá mais avisos para configurações sem suporte quando validateIntegratedModeConfiguration for false, verifique se o aplicativo funciona corretamente no modo Integrado antes de definir essa configuração.
Compatibilidade
Versão | Observações |
---|---|
IIS 10.0 | O elemento <validation> não foi modificado no IIS 10.0. |
IIS 8.5 | O elemento <validation> não foi modificado no IIS 8.5. |
IIS 8.0 | O elemento <validation> não foi modificado no IIS 8.0. |
IIS 7.5 | O elemento <validation> não foi modificado no IIS 7.5. |
IIS 7.0 | O elemento <validation> foi introduzido no IIS 7.0. |
IIS 6,0 | N/D |
Instalação
O elemento <validation>
está incluído na instalação padrão do IIS 7.
Instruções
Não há nenhuma interface de usuário para adicionar validação para o IIS 7. Para obter exemplos de como adicionar validação programaticamente, consulte a seção Exemplos de Código deste documento.
Configuração
Atributos
Atributo | Descrição |
---|---|
validateIntegratedModeConfiguration |
Atributo booliano opcional. Especifica se a validação de configuração está habilitada quando executada no modo Integrado. As seções <system.Web/httpHandlers> e <system.Web/httpModules> , bem como a representação, são verificadas durante esse processo.O valor padrão é true . |
Elementos filho
Nenhum.
Exemplo de configuração
O exemplo de configuração a seguir habilita a validação. > [!OBSERVAÇÃO]
Esse trecho é de um arquivo Web.config, portanto, esse exemplo de configuração pode ser usado em qualquer nível de pasta em um site.
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="true" />
</system.webServer>
</configuration>
Exemplo de código
Os exemplos de código a seguir habilitam a validação para o site padrão.
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()