Définir des paramètres de configuration propres aux applications et à l’annuaire dans une application ASP.NET

Cet article explique comment définir des paramètres de configuration propres aux applications et à l’annuaire dans ASP.NET.

Version du produit d’origine :   ASP.NET
Numéro de la base de connaissances initiale :   815174

Résumé

Le fichier Web.config réside dans le répertoire racine d’une application ASP.net. Le fichier Web.config spécifie les informations de configuration propres à l’application. Vous pouvez également définir des paramètres de configuration pour chaque répertoire. Deux méthodes s’offrent à vous :

  • Répartissez plusieurs fichiers de Web.config vers des répertoires dans l’application. Ajoutez un fichier Web.config dans le répertoire de l’application ASP.net avec des paramètres qui remplacent les paramètres dans un fichier Web.config de niveau supérieur ou dans le fichier de configuration de l’ordinateur système (Machine.config).

  • Ajoutez les paramètres par répertoire ou par fichier directement dans le fichier de Web.config de l’application. Cette méthode utilise un fichier de Web.config unique pour activer les paramètres de configuration par répertoire. Vous pouvez également utiliser cette méthode dans le fichier Machine.config pour forcer les paramètres de configuration sur les applications Web ASP.net, puis pour empêcher les fichiers Web.config de remplacer les paramètres Machine.config .

Utiliser l’élément location dans le fichier de Machine.config

Pour spécifier les paramètres qui s’appliquent à une application Web ou un répertoire, vous pouvez ajouter l' <location> élément à l' <configuration> élément d’un fichier système Machine.config . Cette fonctionnalité est utile lorsque vous centralisez les paramètres de configuration dans un seul fichier. Cela est également utile dans les environnements d’hébergement Web pour imposer des paramètres de configuration spécifiques aux applications Web individuelles.

L' <location> élément contient deux attributs path et allowOverride . L' path attribut définit le site ou le répertoire virtuel que les paramètres de configuration couvrent. Pour spécifier que les paramètres de l' <location> élément s’appliquent au site Web par défaut, définissez l' path attribut sur Default Web Site . Pour spécifier que les paramètres s’appliquent à l’application nommée MyApp dans le site Web par défaut, définissez l' path attribut sur Default Web Site/MyApp .

Lorsque l' allowOverride attribut a la valeur false, les fichiers Web.config dans les répertoires de l’application Web ne peuvent pas remplacer les paramètres que vous avez spécifiés dans l' <location> élément. Il s’agit d’un paramètre utile dans les environnements où vous devez limiter les développeurs d’applications qui configurent une application Web. L’exemple suivant montre une partie d’un fichier Machine.config qui requiert l’authentification pour accéder à l’application MonApp sur le site Web par défaut et qui ne peut pas être remplacé par les paramètres dans un fichier Web.config :

<configuration>
    <location path="Default Web Site/MyApp" allowOverride="false">
        <system.web>
            <authorization>
                <allow users="?" />
            </authorization>
        </system.web>
    </location>
</configuration>

Utiliser l’élément location dans le fichier de Web.config

Pour spécifier les paramètres qui s’appliquent à une application ou un répertoire spécifique, ajoutez l' <location> élément à l' <configuration> élément d’un fichier d’application Web.config . L' <location> élément contient généralement un <system.web> élément et d’autres éléments de configuration exactement comme vous les utilisez dans le fichier Web.config . L' path attribut de l' <location> élément spécifie le répertoire virtuel ou le nom de fichier auquel les éléments de configuration d’emplacement s’appliquent. L’exemple suivant montre une partie d’une application Web.config fichier qui spécifie les messages d’erreur personnalisés pour le répertoire virtuel du forum.

<configuration>
    <location path="forum" >
        <system.web>
            <customErrors mode="RemoteOnly" defaultRedirect="forum-error.aspx">
                <error statusCode="404" redirect="forum-file-not-found.aspx" />
            </customErrors>
        </system.web>
    </location>
</configuration>

Références