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

Cet article explique comment définir des paramètres de configuration spécifiques à l’application et au répertoire dans ASP.NET.

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

Résumé

Le fichier Web.config se trouve dans le répertoire racine d’une application ASP.NET. Le fichier Web.config spécifie des informations de configuration spécifiques à l’application. Vous pouvez également définir des paramètres de configuration par annuaire. Il existe deux façons de procéder :

  • Distribuez plusieurs fichiers Web.config aux répertoires de 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 des paramètres par répertoire ou par fichier directement à l’application Web.config fichier. Cette méthode utilise un fichier 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 ASP.NET applications web, puis pour empêcher Web.config fichiers de remplacer les paramètresMachine.config .

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

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

L’élément <location> contient deux attributs, path et allowOverride. L’attribut path définit le site ou le répertoire virtuel couvert par les paramètres de configuration. Pour spécifier que les paramètres de l’élément <location> s’appliquent au site Web par défaut, définissez l’attribut sur pathDefault 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’attribut sur pathDefault Web Site/MyApp.

Lorsque l’attribut a la allowOverride valeur false, les fichiers Web.config dans les répertoires d’application web ne peuvent pas remplacer les paramètres que vous avez spécifiés dans l’élément <location> . Il s’agit d’un paramètre utile dans les environnements où vous devez restreindre les développeurs d’applications dans la façon dont ils configurent une application web. L’exemple suivant montre une partie d’un fichier Machine.config . Le fichier nécessite une authentification pour accéder à l’application MyApp sur le site web par défaut et ne peut pas être remplacé par les paramètres d’un fichierWeb.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 Web.config

Pour spécifier les paramètres qui s’appliquent à une application ou à un répertoire spécifique, ajoutez l’élément <location> à l’élément <configuration> d’un fichier deWeb.configd’application . L’élément <location> 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’attribut path de l’élément <location> spécifie le répertoire virtuel ou le nom de fichier dans lequel les éléments de configuration d’emplacement s’appliquent. L’exemple suivant montre une partie d’un fichier Web.config d’application qui spécifie des 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>

References