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

s.k*_*aul 6 c# asp.net design-patterns connection-string configuration-files

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

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

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

Pau*_*ing 5

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

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

考虑:

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

例如:

public class MyLibraryContainer
{
    private string _connectionString;

    public MyLibraryContainer(string connectionString)
    {
        _connectionString = connectionString;
    }
}
Run Code Online (Sandbox Code Playgroud)