Pregunta

En mi aplicación ASP.NET tengo un archivo web.config. En el archivo web.config tengo una cadena de conexión ...

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

Sin embargo, cuando recupero este valor usando ConfigurationManager.ConnectionStringsp["HRDb"], obtengo mi cadena de conexión anterior, no la nueva.

¿Dónde más (aparte de web.config) lee el ConfigurationManager leer valores de cadena de conexión?

Estoy ejecutando la aplicación desde VS.NET (no implementado en IIS).

¿Fue útil?

Solución

Descubrí lo que iba mal.

Entonces, para responder mi propia pregunta ... ConfigurationManager solo lee desde web.config.

Mi problema fue que el proyecto se configuró para usar un servidor web IIS al ejecutar el proyecto en lugar de usar el servidor de desarrollo de Visual Studio. De hecho, estaba ejecutando una versión anterior de mi aplicación. Tonto.

Otros consejos

También es posible, aunque poco probable, que tenga una cadena de conexión definida en " parent " web.config en una carpeta encima de su carpeta actual o incluso en machine.config. Intente agregar un elemento <clear /> antes del elemento <add>.

¿Dónde se almacenó el valor 'antiguo'? ¿Está en un archivo de configuración diferente? El administrador de configuración solo debe extraer de los archivos de configuración, pero puede haber varios archivos para una aplicación. ¿Forma parte de su proceso de compilación copiar en un archivo antiguo?

He tenido un problema similar, donde la solución era que tenía el web.config incorrecto, uno que fue generado por Visual Studio al agregar un archivo más o menos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top