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