314 votes

Lecture d'une clé à partir de Web.Config à l'aide de ConfigurationManager

J'essaie de lire les clés du fichier web.config dans un calque différent de celui du calque Web (même solution)

Voici ce que j'essaie

 string userName = System.Configuration.ConfigurationManager.AppSettings["PFUserName"];
string password = System.Configuration.ConfigurationManager.AppSettings["PFPassWord"];
 

Et voici mes mes appsettings dans le fichier web.config

 <configuration>
   ....
   <appSettings>
      <add key="PFUserName" value="myusername"/>
      <add key="PFPassWord" value="mypassword"/>
   </appSettings>
   ....
</configuration>
 

quand je débogue le nom d'utilisateur et le mot de passe de code sont juste null, ainsi il n'obtient pas la valeur des clefs. Qu'est-ce que je fais de mal à lire ces valeurs? Merci!

514voto

Hector Correa Points 10408

Essayez d'utiliser la classe WebConfigurationManager à la place. Par exemple:

 string userName = WebConfigurationManager.AppSettings["PFUserName"]
 

48voto

yogee Points 558
  var url = ConfigurationManager.AppSettings["ServiceProviderUrl"].ToString();

6voto

Saber Points 422

Si l'appelant est un autre projet, vous devez écrire le config dans le projet appelant pas celui appelé.

6voto

mateuscb Points 959

J'ai trouvé cette solution très utile . Il utilise C # 4.0 DynamicObject pour envelopper le ConfigurationManager. Donc, au lieu d'accéder à des valeurs comme celle-ci:

  WebConfigurationManager.AppSettings["PFUserName"]
 

vous y accédez en tant que propriété:

 SettingsWrapper.PFUserName
 

1voto

Ce problème se produit si ce projet est utilisé par un autre projet. Assurez-vous de copier les clés de configuration de l'application dans app.config ou web.config du projet parent.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X