Pergunta

No meu aplicativo ASP.NET, tenho um arquivo web.config. No arquivo web.config, tenho uma string de conexão ...

<connectionStrings>
    <add name="HRDb" connectionString="xxxxx" providerName="System.Data.SqlClient" />
</connectionStrings>

No entanto, quando eu recupero esse valor usando ConfigurationManager.ConnectionStringsp["HRDb"], Eu recebo a string de minha antiga conexão, não a nova.

Onde mais (além do web.config) faz o ConfigurationManager Leia os valores da string de conexão?

Estou executando o aplicativo do vs.net (não implantado no IIS).

Foi útil?

Solução

Eu descobri o que estava dando errado.

Então, para responder minha própria pergunta ... o ConfigurationManager apenas lê no web.config.

Meu problema era que o projeto foi configurado para usar um servidor da Web do IIS ao executar o projeto em vez de usar o Visual Studio Development Server. Na verdade, eu estava executando uma versão antiga do meu aplicativo. Boba.

Outras dicas

Também é possível, embora improvável, que você tenha uma string de conexão definida em um web.config "parent" em uma pasta acima da pasta atual ou mesmo no Machine.config. Tente adicionar um <clear /> elemento antes do <add> elemento.

Onde foi armazenado o valor 'antigo'? Está em um arquivo de configuração diferente? O gerenciador de configurações deve retirar apenas os arquivos de configuração, mas pode haver vários arquivos para um aplicativo. Parte do seu processo de construção cópia em um arquivo antigo?

Eu tive um problema semelhante, onde a solução era que eu estava segurando o web.config errado, que foi gerado pelo Visual Studio ao adicionar um arquivo ou mais.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top