在解决方案中获取类库项目中的连接字符串

在我的.net 4解决方案中,我有两个不同的项目 – 一个Web应用程序项目和一个类库项目。

在Web应用程序项目中,数据库连接字符串位于web.config文件中。 我想从类库项目中访问该连接字符串。 可能吗? 如果有,怎么样?

如果有更好的方法来获取连接字符串,请告诉我。

要从类库中访问它,请添加对System.Configuration的引用,然后使用System.Confinguration.ConfigurationManager.ConnectionStrings

从类库中读取它并不理想。 毕竟,你能说你的类库总是会被带有配置文件的东西所消耗吗? 如果你与其他开发人员,特别是不同平台的开发人员共享,当然不会。

考虑:

  1. IoC – 使用dependency injection来提供包含配置设置的依赖项。 这些将由消费库(Web应用程序)填充。
  2. 使用依赖于它们的元素时,将设置传递给类库。

例如:

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

在Web应用程序项目中,使用静态方法创建一个静态类,您可以在其中返回连接字符串,将引用放在类库项目中并调用您创建的方法。