Convalida <>
Panoramica
L'elemento <validation>
configura Internet Information Services (IIS) 7 per rilevare se un'applicazione ASP.NET configurata per l'esecuzione in modalità .NET classica deve essere modificata per funzionare correttamente in modalità integrata.
IIS genera un messaggio di errore di migrazione se l'attributo validateIntegratedModeConfiguration è impostato su true e uno dei seguenti è true:
L'applicazione definisce una
<httpModules>
sezione nel relativo file Web.config.In modalità integrata IIS 7, ASP.NET moduli vengono specificati con moduli nativi in una sezione moduli unificati <> in <system.webServer>.
L'applicazione definisce una
<httpHandlers>
sezione nel relativo file Web.config.In modalità integrata IIS 7, i mapping dei gestori di ASP.NET vengono specificati in una sezione gestori> unificata< all'interno di <system.webServer>. La <sezione gestori> sostituisce sia le configurazioni di ASP.NET
<httpHandlers>
che iis script-processor-mapping, che erano entrambe necessarie per configurare un mapping del gestore ASP.NET 1.0.Il file di Web.config dell'applicazione specifica
<identity impersonate="true" />
.In modalità integrata IIS 7 la rappresentazione client non è disponibile in alcune fasi di elaborazione delle richieste iniziali. Pertanto, IIS genererà il messaggio di errore di migrazione. Se l'applicazione Web ASP.NET rappresenta le credenziali client (più comuni con scenari Intranet), è possibile impostare l'attributo validateIntegratedModeConfiguration su false.
Nota
Se si esegue la migrazione manuale della configurazione oppure non si esegue la migrazione della configurazione, ma si vuole che IIS rimanga in modalità integrata (che non è consigliabile), è possibile disabilitare i messaggi di errore di migrazione impostando l'attributo validateIntegratedModeConfiguration su false. Poiché IIS non fornisce più avvisi per le configurazioni non supportate quando validateIntegratedModeConfiguration è false, assicurarsi che l'applicazione funzioni correttamente in modalità integrata prima di effettuare questa impostazione.
Compatibilità
Versione | Note |
---|---|
IIS 10.0 | L'elemento <validation> non è stato modificato in IIS 10.0. |
IIS 8,5 | L'elemento <validation> non è stato modificato in IIS 8.5. |
IIS 8,0 | L'elemento <validation> non è stato modificato in IIS 8.0. |
IIS 7,5 | L'elemento <validation> non è stato modificato in IIS 7.5. |
IIS 7.0 | L'elemento <validation> è stato introdotto in IIS 7.0. |
IIS 6.0 | N/D |
Installazione
L'elemento <validation>
è incluso nell'installazione predefinita di IIS 7.
Procedure
Non è disponibile un'interfaccia utente per l'aggiunta della convalida per IIS 7. Per esempi di come aggiungere la convalida a livello di codice, vedere la sezione Esempi di codice di questo documento.
Configurazione
Attributi
Attributo | Descrizione |
---|---|
validateIntegratedModeConfiguration |
Attributo booleano facoltativo. Specifica se la convalida della configurazione è abilitata quando viene eseguita in modalità integrata. Le <system.Web/httpHandlers> sezioni e e <system.Web/httpModules> la rappresentazione vengono controllate durante questo processo.Il valore predefinito è true . |
Elementi figlio
Nessuno.
Esempio di configurazione
L'esempio di configurazione seguente abilita la convalida. > [! NOTA]
Questo estratto proviene da un file Web.config, quindi questo esempio di configurazione può essere usato a qualsiasi livello di cartella all'interno di un sito Web.
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="true" />
</system.webServer>
</configuration>
Codice di esempio
Gli esempi di codice seguenti abilitano la convalida per il sito Web predefinito.
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()