visual una studio standard referencia puedo puede proyecto programa para net libreria hacer framework clases biblioteca agregar c# asp.net design-patterns connection-string configuration-files

c# - standard - no se puede agregar una referencia al proyecto visual studio



Obtener la cadena de conexión en el proyecto de biblioteca de clase en una solución (2)

En el proyecto de la aplicación web, cree una clase estática con un método estático donde devuelva la cadena de conexión, coloque la referencia en el proyecto de la biblioteca de la clase y llame al método que creó.

En mi solución .net 4, tengo dos proyectos diferentes: un proyecto de aplicación web y un proyecto de biblioteca de clase.

En el proyecto de aplicación web, la cadena de conexión de la base de datos está en el archivo web.config. Me gustaría acceder a esa cadena de conexión desde el proyecto de biblioteca de clase. ¿Es posible? si es así, ¿cómo?

Si hay un mejor enfoque para obtener la cadena de conexión, házmelo saber.


Para acceder desde su biblioteca de clase, agregue una referencia a System.Configuration luego use System.Confinguration.ConfigurationManager.ConnectionStrings .

No es ideal leer esto desde una biblioteca de clase. Después de todo, ¿puede decir que su biblioteca de clase siempre será consumida por algo con un archivo de configuración? Ciertamente, no si lo compartes con otros desarrolladores, especialmente de diferentes plataformas.

Considerar:

  1. IoC: use la inyección de dependencia para proporcionar una dependencia que contenga configuraciones. Estos serían poblados por la biblioteca consumidora (aplicación web).
  2. Pase la configuración a la biblioteca de la clase cuando consuma elementos que dependen de ellos.

p.ej:

public class MyLibraryContainer { private string _connectionString; public MyLibraryContainer(string connectionString) { _connectionString = connectionString; } }