Validierung <Validierung>

Übersicht

Das <validation>-Element konfiguriert Internetinformationsdienste (IIS) 7, um zu ermitteln, ob eine ASP.NET-Anwendung, die für die Ausführung im klassischen .NET-Modus eingerichtet ist, angepasst werden muss, um ordnungsgemäß im integrierten Modus zu funktionieren.

IIS generiert eine Migrationsfehlermeldung, wenn das Attribut validateIntegratedModeConfiguration auf true festgelegt ist, und eine der folgenden Werte ebenfalls true ist:

  • Ihre Anwendung definiert einen <httpModules>-Bereich in der Datei „Web.config“.

    Im integrierten IIS 7-Modus werden ASP.NET-Module mit systemeigenen Modulen in einem einheitlichen <Module>-Abschnitt unter<system.webServer> angegeben.

  • Ihre Anwendung definiert einen <httpHandlers>-Bereich in der Datei „Web.config“.

    Im integrierten IIS 7-Modus werden die ASP.NET Handlerzuordnungen in einem einheitlichen <Handler>-Abschnitt innerhalb von <system.webServer> angegeben. Der <Handlers>-Abschnitt ersetzt die Konfigurationen ASP.NET <httpHandlers> und IIS-Skriptprozessorzuordnungen, die beide zum Einrichten einer ASP.NET 1.0-Handlerzuordnung erforderlich waren.

  • Die Datei „Web.config“ Ihrer Anwendung gibt <identity impersonate="true" /> an.

    Im IIS 7 integrierten Modus ist die Annahme der Clientidentität in einigen frühen Anforderungsverarbeitungsphasen nicht verfügbar. Daher generiert IIS die Migrationsfehlermeldung. Wenn Ihre ASP.NET-Webanwendung Clientanmeldeinformationen imitiert (am üblichsten bei Intranetszenarien), sollten Sie das Attribut validateIntegratedModeConfiguration auf false festlegen.

Hinweis

Wenn Sie Ihre Konfiguration manuell migrieren oder Ihre Konfiguration nicht migrieren, IIS jedoch im integrierten Modus verbleiben soll (was nicht empfohlen wird), können Sie Migrationsfehlermeldungen deaktivieren, indem Sie das Attribut validateIntegratedModeConfiguration auf false festlegen. Da IIS keine Warnungen mehr für nicht unterstützte Konfigurationen anzeigt wenn validateIntegratedModeConfigurationfalse ist, stellen Sie sicher, dass Ihre Anwendung im integrierten Modus ordnungsgemäß funktioniert, bevor Sie diese Einstellung vornehmen.

Kompatibilität

Version Hinweise
IIS 10.0 Das <validation>-Element wurde in IIS 10.0 nicht geändert.
IIS 8.5 Das <validation>-Element wurde in IIS 8.5 nicht geändert.
IIS 8.0 Das <validation>-Element wurde in IIS 8.0 nicht geändert.
IIS 7.5 Das <validation>-Element wurde in IIS 7.5 nicht geändert.
IIS 7.0 Das <validation>-Element wurde in IIS 7.0 eingeführt.
IIS 6.0 N/V

Setup

Das <validation>-Element ist in der Standardinstallation von IIS 7 enthalten.

Gewusst wie

Es gibt keine Benutzeroberfläche zum Hinzufügen der Überprüfung für IIS 7. Beispiele zum programmgesteuerten Hinzufügen der Validierung finden Sie im Abschnitt Codebeispiele dieses Dokuments.

Konfiguration

Attribute

Attribut Beschreibung
validateIntegratedModeConfiguration Optionales boolesches Attribut.

Gibt an, ob die Konfigurationsvalidierung aktiviert ist, wenn sie im integrierten Modus ausgeführt wird. Die <system.Web/httpHandlers>- und <system.Web/httpModules>-Abschnitte sowie Identitätswechsel werden während dieses Prozesses überprüft.

Der Standardwert ist true.

Untergeordnete Elemente

Keine.

Konfigurationsbeispiel

Im folgenden Konfigurationsbeispiel wird die Validierung aktiviert. > [!NOTE]

Dieser Auszug stammt aus einer Web.config-Datei, weshalb dieses Konfigurationsbeispiel auf jeder Ordnerebene innerhalb einer Website verwendet werden kann.

<configuration>
   <system.webServer>
      <validation validateIntegratedModeConfiguration="true" />
   </system.webServer>
</configuration>

Beispielcode

In den folgenden Codebeispielen wird die Validierung für die Standardwebsite aktiviert.

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