Validation <validation>
Vue d’ensemble
L’élément <validation>
configure Internet Information Services (IIS) 7 pour détecter si une application ASP.NET configurée pour s’exécuter en mode .NET classique nécessite une modification pour fonctionner correctement en mode intégré.
IIS génère un message d’erreur de migration si l’attribut validateIntegratedModeConfiguration est défini sur true et que l’une des conditions suivantes est également vrai :
Votre application définit une section
<httpModules>
dans le fichier Web.config associé.En mode intégré dans IIS 7, les modules ASP.NET sont spécifiés avec des modules natifs dans une section <modules> unifiée sous <system.webServer>.
Votre application définit une section
<httpHandlers>
dans le fichier Web.config associé.En mode intégré dans IIS 7, les mappages de gestionnaires ASP.NET sont spécifiés dans une section <handlers> unifiée sous <system.webServer>. La section <handlers> remplace à la fois les configurations des mappages
<httpHandlers>
ASP.NET et de processeurs de script IIS, qui été requises pour configurer un mappage de gestionnaires ASP.NET 1.0.Le fichier Web.config de votre application spécifie
<identity impersonate="true" />
.En mode intégré dans IIS 7, l’emprunt d’identité du client n’est pas disponible dans certaines phases anticipées du traitement des demandes. C’est pourquoi IIS génère le message d’erreur de migration. Si votre application Web ASP.NET emprunte les informations d’identification du client (cas très fréquent dans les scénarios intranet), vous pouvez définir l’attribut validateIntegratedModeConfiguration sur false.
Remarque
Si vous migrez votre configuration manuellement, ou si vous ne migrez pas votre configuration mais souhaitez continuer d’utiliser IIS en mode intégré (option non recommandée), vous pouvez désactiver les messages d’erreur de migration en définissant l’attribut validateIntegratedModeConfiguration sur false. Comme IIS ne fournit plus d’avertissements pour les configurations non prises en charge quand validateIntegratedModeConfiguration est défini sur false, vérifiez que votre application fonctionne correctement en mode intégré avant d’appliquer ce paramètre.
Compatibilité
Version | Notes |
---|---|
IIS 10.0 | L’élément <validation> n’a fait l’objet d’aucune modification dans IIS 10.0. |
IIS 8.5 | L’élément <validation> n’a fait l’objet d’aucune modification dans IIS 8.5. |
IIS 8.0 | L’élément <validation> n’a fait l’objet d’aucune modification dans IIS 8.0. |
IIS 7.5 | L’élément <validation> n’a fait l’objet d’aucune modification dans IIS 7.5. |
IIS 7.0 | L’élément <validation> a été introduit dans IIS 7.0. |
IIS 6.0 | S/O |
Programme d’installation
L’élément <validation>
est inclus dans l’installation par défaut d’IIS 7.
Procédure
Il n’existe pas d’interface utilisateur permettant d’ajouter la validation dans IIS 7. Pour obtenir des exemples sur la façon d’ajouter une validation programmatiquement, consultez la section Exemples de code de ce document.
Configuration
Attributs
Attribut | Description |
---|---|
validateIntegratedModeConfiguration |
Attribut booléen facultatif. Spécifie si la validation de la configuration est activée quand l’application s’exécute en mode intégré. Les sections <system.Web/httpHandlers> et <system.Web/httpModules> ainsi que l’emprunt d’identité sont vérifiés durant ce processus.La valeur par défaut est true . |
Éléments enfants
Aucune.
Exemple Configuration
L’exemple de configuration suivant active la validation. > [!REMARQUE]
L’extrait provenant d’un fichier Web.config, cet exemple de configuration peut donc être utilisé à n’importe quel niveau de dossier d’un site web.
<configuration>
<system.webServer>
<validation validateIntegratedModeConfiguration="true" />
</system.webServer>
</configuration>
Exemple de code
Les exemples de code suivants activent la validation pour le site web par défaut.
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()