Pregunta

La configuración:

Tengo una DLL que usa un ConnectionString para conectarse a una base de datos SQL. Cuando agrego la DLL a mi sitio web, tengo que agregar la cadena de conexión en mi web.config para que mi DLL funcione correctamente (esto es por diseño). Una vez que lo agregué a la web.config, entonces todo funciona bien (como se esperaba).

El problema:

El problema comienza cuando quiero mover la cadena de conexión a la configuración de la aplicación ASP.NET de mi sitio web que se encuentra en IIS > Sitio web predeterminado > Propiedades > Pestaña ASP.NET > Editar configuración global ... > Administrador de cadenas de conexión

Si lo quito de mi web.config y lo pongo allí, mi DLL no funciona. Si utilizo la cadena de conexión en cualquier otro lugar de mi sitio web (y no desde una DLL), puedo acceder a la base de datos simplemente a través de este método, pero por alguna razón mi DLL solo puede acceder a ella si está en el archivo web.config.

La pregunta:

¿Cómo puedo hacer que mi DLL use la cadena de conexión que aparece en el Administrador de cadenas de conexión de configuración de configuración de ASP.NET en lugar de web.config?

¿Fue útil?

Solución

Debe buscar la sección en la configuración de configuración general de ASP.Net, que se puede recuperar a través de la clase WebConfigurationManager, en lugar de buscar una cadena de conexión a través de ConfigurationManager.ConnectionStrings.

    // Get the connectionStrings section.
ConnectionStringsSection connectionStringsSection =
    WebConfigurationManager.GetSection("connectionStrings")
    as ConnectionStringsSection;

// Get the connectionStrings key,value pairs collection.
ConnectionStringSettingsCollection connectionStrings =
    connectionStringsSection.ConnectionStrings;

// Get the collection enumerator.
IEnumerator connectionStringsEnum =
    connectionStrings.GetEnumerator();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top