Quelle est la différence entre le WebConfigurationManager et le ConfigurationManager?
Quelle est la différence entre le WebConfigurationManager
et la ConfigurationManager
?
Quand dois-je utiliser l'un plutôt que l'autre?
Mis à JOUR
J'ai juste regardé le WebConfigurationManager
, et pour une raison quelconque, vous ne pouvez pas accéder à la connexion des chaînes comme vous le faites dans le ConfigurationManager
(comme un tableau). Quelqu'un peut me dire pourquoi MS fait comme ça? Il semble être une douleur pour obtenir la chaîne de connexion que vous souhaitez à l'aide du WebConfigurationManager
.
De NOUVEAU mis à JOUR avec mise en garde!
Si vous n'avez pas de référence à la System.Configuration
espace de noms ajoutés à votre projet, puis Visual Studio affiche une erreur lorsque vous essayez d'accéder à la WebConfigurationManager.ConnectionStrings
comme un tableau!
- Je ne pense pas que la "mise en garde" est très précise. J'utilise le système.web.configuration des chaînes de connexion sans avoir besoin de système.configuration
Vous devez vous connecter pour publier un commentaire.
WebConfigurationManger sait comment traiter avec la configuration de l'héritage dans une application web. Comme vous le savez, il peut y avoir plusieurs web.les fichiers de configuration dans un applicaion - l'un à la racine du site et le nombre de sous-répertoires. Vous pouvez passer chemin d'accès à la GetSection() méthode pour obtenir possibles de configuration remplacée.
Si nous avions looke à WebConfigurationManager avec Réflecteur puis les choses sont claires:
WebConfigurationManager est faite spécialement pour ASP.NET des applications.
WebConfigurationManager fournit des méthodes supplémentaires pour charger les fichiers de configuration applicables pour les applications Web.
ConfigurationManager fournit également des méthodes pour charger des fichiers de configuration qui s'applique à ".exe" des applications.
Je vous suggère de prendre un coup d'oeil à WebConfigurationManager et voir si elle vous offre tout ce que vous ne peut tout simplement pas avec ConfigurationManager et l'utiliser à la place, sinon à l'aide de ConfigurationManager sera beaucoup plus facile d'avoir votre code soit utilisé de façon transparente entre le web et le bureau de l'aps.
Bien que WebConfigurationManager est situé dans le Système.Web de l'assemblée de la ConnectionStringSettingsCollection qu'il renvoie est situé dans le Système.La Configuration.
Si vous obtenez l'erreur
tout en essayant d'accéder à l'index de tableau...
assurez-vous que vous avez une référence à l'assembly System.Configuration
Pas sûr de ce que tu veux dire sur les chaînes de connexion.
Appel WebConfigurationManager.ConnectionStrings retourne un Système.La Configuration.ConnectionStringSettingsCollection, qui est le même que vous obtiendriez si vous avez appelé ConfigurationManager.ConnectionStrings.
Sinon, comme XOR dit, il est conçu pour gérer plusieurs hiérarchique web.les configs, en les combinant, comme vous vous déplacez les dossiers dans une application.