Estou tentando ler as chaves do Web.config
arquivo em uma camada diferente da camada da web (mesma solução)
Aqui está o que estou tentando:
string userName = System.Configuration.ConfigurationManager.AppSettings["PFUserName"];
string password = System.Configuration.ConfigurationManager.AppSettings["PFPassWord"];
E aqui está o meu appSettings
no Web.config
arquivo:
<configuration>
....
<appSettings>
<add key="PFUserName" value="myusername"/>
<add key="PFPassWord" value="mypassword"/>
</appSettings>
....
</configuration>
Quando depuro o código username
e password
sou justo null
, não está obtendo o valor das chaves.
O que estou fazendo de errado para ler esses valores?
c#
asp.net-mvc
twal
fonte
fonte
NULL
. Comentário tardio, mas ninguém apontou isso.Respostas:
Tente usar a classe WebConfigurationManager. Por exemplo:
fonte
fonte
ToString()
é redundante.string value = ConfigurationManager.AppSettings[key] ?? "unknown value"
Se o chamador for outro projeto, você deve gravar a configuração no projeto do chamador, não o chamado.
fonte
Achei esta solução bastante útil . Ele usa o C # 4.0 DynamicObject para quebrar o ConfigurationManager. Então, em vez de acessar valores como este:
você os acessa como uma propriedade:
EDIT : Adicionando trecho de código no caso de link ficar obsoleto:
fonte
Caminho completo, pois é
fonte
Haverá dois arquivos Web.config. Eu acho que você pode ter confundido com esses dois arquivos.
Verifique esta imagem:
Nesta imagem, você pode ver dois arquivos Web.config. Você deve adicionar suas constantes àquela que está na pasta do projeto e não na pasta views
Espero que isso possa ajudá-lo
fonte
Esse problema ocorre se este projeto estiver sendo usado por outro projeto. Certifique-se de copiar as chaves de configuração do aplicativo para app.config ou web.config do projeto pai.
fonte
Além disso, você pode tentar esta linha para obter o valor da string do
app.config
arquivo.fonte
assumindo a configuração abaixo no arquivo .config:
tente isto:
fonte
Desculpe, eu não testei isso, mas acho que é feito assim:
fonte