Partager via


Vue d'ensemble de l'API de configuration ASP.NET

Mise à jour : novembre 2007

L'API de configuration ASP.NET vous permet de développer, déployer et gérer les données de configuration des applications en utilisant une seule interface de programmation. Vous pouvez utiliser l'API de configuration pour développer et modifier des configurations ASP.NET complètes par programme sans modifier directement le code XML des fichiers de configuration. De plus, vous pouvez utiliser l'API de configuration dans des applications console et des scripts que vous développez, dans des outils de gestion Web et dans les composants logiciels enfichables MMC (Microsoft Management Console). Les deux outils de gestion de la configuration suivants utilisent l'API de configuration et sont inclus avec le .NET Framework version 2.0 :

  • Composant logiciel enfichable MMC ASP.NET qui utilise l'API de configuration pour simplifier des tâches d'administration, en fournissant un affichage intégré des données de configuration locales de tous les niveaux de la hiérarchie de configuration.

  • Outil Administration de site Web qui vous permet de gérer des paramètres de configuration pour les applications locales et distantes, y compris les sites hébergés.

L'API de configuration ASP.NET est différente de l'API de configuration par programme IIS. Pour plus d'informations, consultez Using IIS Programmatic Administration

Fonctionnalités de l'API de configuration

L'API de configuration ASP.NET comprend un jeu d'objets de gestion ASP.NET que vous pouvez utiliser pour configurer des applications et des sites Web par programme. Les objets de gestion sont implémentés en tant que bibliothèque de classes du .NET Framework. Le modèle de programmation de l'API de configuration permet de garantir la cohérence et la fiabilité du code par l'application de types de données au moment de la compilation.

Pour simplifier la gestion des configurations d'application, l'API de configuration vous permet de consulter des données fusionnées à partir de tous les points de la hiérarchie de configuration en une seule collection, au lieu de les afficher comme des collections séparées de différents fichiers de configuration. En outre, elle vous offre la possibilité de manipuler des configurations d'application complètes sans modifier directement le code XML des fichiers de configuration. Enfin, elle simplifie les tâches de configuration grâce à la prise en charge d'outils d'administration, tels que l'outil Administration de site Web.

L'API de configuration simplifie le déploiement par la prise en charge de la création de fichiers de configuration sur un ordinateur et l'exécution de scripts de configuration sur plusieurs ordinateurs.

L'API de configuration ne prend pas en charge la création d'applications IIS. Pour plus d'informations sur l'écriture d'applications d'administration IIS, consultez Using System.DirectoryServices to Configure IIS dans le Kit de développement IIS SDK.

Manipulation des paramètres de configurations locaux et distants

Un objet Configuration représente l'affichage fusionné des paramètres de configuration qui s'appliquent à une entité physique spécifique, par exemple un ordinateur, ou à une entité logique, telle qu'une application ou un site Web. L'entité logique spécifiée peut exister sur l'ordinateur local ou sur un serveur distant.

Lorsque aucun fichier de configuration n'existe pour une entité spécifiée, l'objet Configuration représente les paramètres de configuration par défaut tels qu'ils sont définis dans le fichier Machine.config.

Vous pouvez obtenir un objet Configuration à l'aide de l'une des méthodes de configuration ouvertes des classes suivantes :

Ces méthodes retournent un objet Configuration qui fournit, à son tour, les méthodes et propriétés requises pour gérer les fichiers de configuration sous-jacents. Vous pouvez accéder à ces fichiers en lecture ou en écriture.

  • Lecture   Utilisez la méthode GetSection ou GetSectionGroup pour lire des informations de configuration. L'utilisateur ou le processus qui lit les informations doit posséder des droits d'accès en lecture sur tous les fichiers de configuration de la hiérarchie.

    Remarque :

    Si vous utilisez une méthode GetSection statique qui prend un paramètre path, le paramètre path doit faire référence à l'application dans laquelle le code s'exécute. Sinon, le paramètre est ignoré et les informations de configuration pour l'application en cours d'exécution sont retournées.

  • Écriture   Utilisez une des méthodes Save pour écrire des informations de configuration. L'utilisateur ou le processus qui écrit les données doivent avoir des autorisations en écriture sur le fichier de configuration et le répertoire au niveau de la hiérarchie de configuration actuel ainsi que des droits d'accès en lecture sur tous les fichiers de configuration de la hiérarchie.

Pour générer un fichier de configuration qui représente les paramètres de configuration hérités pour une entité spécifiée, utilisez l'une des méthodes d'enregistrement de configuration suivantes :

  • Méthode Save pour créer un nouveau fichier de configuration.

  • Méthode SaveAs pour générer un nouveau fichier de configuration à un autre emplacement.

Remarque :

Pour activer l'accès aux paramètres de configuration sur un ordinateur distant, utilisez l'outil de ligne de commande Aspnet_regiis. Pour plus d'informations sur cet outil, consultez ASP.NET IIS Registration, outil (Aspnet_regiis.exe). Pour plus d'informations sur la création et l'accès aux paramètres de configuration personnalisés autres que les sections intrinsèques incluses dans le .NET Framework, consultez ConfigurationSection.

Exemples de code

À partir d'une page ASP.NET, vous pouvez utiliser le code suivant pour obtenir des informations de configuration sur l'application dans laquelle la page ASP.NET s'exécute. Cet exemple de code utilise la méthode WebConfigurationManager.GetSection statique.

System.Web.Configuration.UrlMappingsSection urlMaps =
    (System.Web.Configuration.UrlMappingsSection)
    System.Web.Configuration.WebConfigurationManager.GetSection(
    "system.web/urlMappings");
Bool urlMappingsEnabled = urlMaps.IsEnabled;

À partir d'une application ASP.NET ou d'une application cliente, vous pouvez utiliser le code suivant pour obtenir des informations de configuration à propos d'une autre application. Cet exemple de code utilise la méthode GetSection non statique de l'objet System.Configuration.Configuration.

System.Configuration.Configuration config =
    System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(
    "/SampleWebApp");
System.Web.Configuration.UrlMappingsSection urlMaps =
    (System.Web.Configuration.UrlMappingsSection)
    System.Web.Configuration.WebConfigurationManager.GetSection(
    "system.web/urlMappings");
bool urlMappingsEnabled = urlMaps.IsEnabled;

Classes de configuration et espaces de noms

Il existe de nombreuses classes et méthodes de configuration similaires. Le tableau suivant décrit les espaces de noms et les classes de configuration les plus fréquemment utilisés. Pour plus d'informations sur les scénarios d'utilisation et les exemples de code qui utilisent ces classes et espaces de noms, consultez Utilisation des classes de configuration.

Classe de configuration ou espace de noms

Description

Espace de noms System.Configuration

Contient les classes de configuration principales de toutes les applications du .NET Framework. Il inclut les classes de gestionnaire de section pour les sections de configuration de client .NET Framework définies au niveau du Schéma des fichiers de configuration pour le .NET Framework. Les classes de gestionnaire de section sont utilisées pour obtenir des données de configuration d'une section à partir de méthodes telles que GetSection et GetSectionGroup. Ces deux méthodes ne sont pas statiques. Pour plus d'informations, consultez la section précédente Manipulation des paramètres de configurations locaux et distants dans cette rubrique.

Les classes de gestionnaire de section ASP.NET sont contenues dans l'espace de noms System.Web.Configuration.

Classe System.Configuration.Configuration

Représente un jeu de données de configuration pour un ordinateur, une application, un répertoire Web ou une autre ressource. Une instance de la classe Configuration correspond aux paramètres de configuration fusionnés contenus dans la hiérarchie.

Cette classe contient des méthodes utiles, et notamment GetSection et GetSectionGroup, qui servent à mettre à jour des paramètres de configuration et à obtenir des références aux sections et aux groupes de sections. Ces deux méthodes ne sont pas statiques. Pour plus d'informations, consultez la section précédente Manipulation des paramètres de configurations locaux et distants dans cette rubrique.

Cette classe est utilisée comme type de retour pour les méthodes qui obtiennent des données de configuration au moment du design, telles que les méthodes des classes WebConfigurationManager et ConfigurationManager.

Espace de noms System.Web.Configuration

Contient les classes de gestionnaire de section pour les sections de configuration ASP.NET définies par Paramètres de configuration ASP.NET. Les classes de gestionnaire de section sont utilisées pour obtenir des données de configuration d'une section à partir de méthodes telles que GetSection et GetSectionGroup. Ces deux méthodes sont statiques. Pour plus d'informations, consultez la section précédente Manipulation des paramètres de configurations locaux et distants dans cette rubrique.

Classe System.Web.Configuration.WebConfigurationManager

Fournit des méthodes utiles permettant d'obtenir des références à des paramètres de configuration au moment de l'exécution et du design. Ces méthodes utilisent la classe System.Configuration.Configuration comme type de retour. Vous pouvez utiliser indifféremment la méthode GetSection statique de cette classe ou la méthode GetSection non statique de la classe System.Configuration.ConfigurationManager. Pour plus d'informations, consultez la section précédente Manipulation des paramètres de configurations locaux et distants dans cette rubrique.

Pour les configurations d'application Web, nous recommandons d'utiliser la classe System.Web.Configuration.WebConfigurationManager et non la classe System.Configuration.ConfigurationManager.

Espace de noms System.Configuration.Provider

Offre un moyen de personnaliser et d'étendre le fournisseur de configuration. Il s'agit de la classe de base pour toutes les classes de fournisseur dans le système de configuration.

Espace de noms System.Web.Management

Contient des classes et des interfaces utilisées pour gérer et surveiller l'état de santé d'applications Web. Cet espace de noms ne fait pas, à proprement parler, partie de l'API de configuration. Par exemple, le traçage et le déclenchement d'événements sont réalisés par les classes de cet espace de noms. Pour plus d'informations, consultez Dépannage et débogage de ASP.NET.

Espace de noms System.Management.Instrumentation

Fournit les classes nécessaires à l'instrumentation d'applications pour exposer leurs informations et événements de gestion via WMI (Windows Management Instrumentation) aux consommateurs potentiels. Le contrôle d'état ASP.NET utilise WMI pour remettre des événements. Cet espace de noms ne fait pas, à proprement parler, partie de l'API de configuration.

Structure de l'héritage de classes de configuration

Le diagramme suivant illustre les relations d'héritage entre les classes de l'espace de nomsSystem.Web.Configuration et les classes de l'espace de noms System.Configuration. Vous pouvez l'utiliser pour identifier les propriétés et méthodes disponibles à l'objet que vous avez actuellement instancié et pour savoir comment obtenir des informations complémentaires.

Structure de l'agrégation de classes de configuration

Le diagramme suivant illustre les relations d'agrégation entre les classes de l'espace de nomsSystem.Web.Configuration et les classes de l'espace de noms System.Configuration. Vous pouvez utiliser ce diagramme pour comprendre comment les classes sont instanciées en tant qu'objets dans d'autres classes.

Génération d'outils spécialisés

Dans certains cas, vous devez autoriser de nombreux administrateurs à gérer des ressources assignées, telles que des applications et sites Web spécifiques tout en limitant les actions que ces administrateurs peuvent effectuer sur d'autres ressources. Vous pouvez développer des outils d'administration qui utilisent l'API de configuration ASP.NET pour exposer uniquement les paramètres de configuration dont vos administrateurs ont besoin pour réaliser leurs tâches tout en leur refusant l'accès à d'autres paramètres. Vous attribuez de la sorte des pouvoirs à vos administrateurs et protégez en même temps vos ressources en éliminant le besoin d'accès direct aux fichiers de configuration.

Outils pour plusieurs serveurs

Si vous gérez un grand nombre de serveurs, vous devez parfois déployer et gérer les mêmes applications ASP.NET sur chaque serveur. Par exemple, la gestion d'une batterie de serveurs Web peut nécessiter les tâches suivantes :

  • Écrire un script qui configure la même application ASP.NET sur une partie ou l'ensemble des serveurs de la batterie de serveurs Web.

  • Verrouiller certains fichiers utilisés pour chaque instance de l'application.

  • Automatiser un audit qui enregistre les configurations des applications déployées afin de garantir que l'installation est configurée de la même façon sur chaque ordinateur.

  • Modifier une seule fois la configuration puis appliquer la modification à toutes les instances de l'application, où qu'elles soient installées.

En outre, l'API de configuration ASP.NET prend en charge l'exécution par lots sur plusieurs serveurs.

Création et gestion de la configuration avec un seul outil

En tant que propriétaire de site, vous pouvez utiliser le composant logiciel enfichable MMC ASP.NET pour créer et gérer les configurations des applications ASP.NET sur un ordinateur. Le composant logiciel enfichable MMC ASP.NET expose les fonctionnalités de l'API de configuration ASP.NET par l'intermédiaire d'une interface utilisateur graphique. Il offre un affichage unifié des paramètres de configuration de plusieurs fichiers de configuration, par exemple une session, la sécurité, les erreurs et le traçage. Vous pouvez modifier des paramètres sans modifier directement le code XML dans les fichiers de configuration. Pour plus d'informations, consultez Composant logiciel enfichable MMC pour ASP.NET.

Voir aussi

Tâches

Comment : accéder par programme aux paramètres de configuration ASP.NET

Comment : lire les paramètres de l'application dans le fichier Web.config

Comment : lire les chaînes de connexion dans le fichier Web.config

Concepts

Utilisation des classes de configuration

Autres ressources

API de configuration ASP.NET