从dll中的WebConfig文件中读取connectionstring

时间:2016-11-29 17:52:44

标签: c# asp.net-mvc asp.net-core-mvc

我有一个class library project(dll)和一个MVC项目(我使用ASP.net Core.net框架。如何阅读connectionstring中我的MVC项目的WebConfig文件中的dll?我在dll内部,我需要阅读它,如果我已经在MVC项目的WebConfig中已经将connectionstring硬编码放在那里,我也不想这样做我怎么能这样做? 我在我的dll中使用了这段代码,但它无效:

   var connectionString = ConfigurationManager.ConnectionStrings["MyConnectionStringName"].ConnectionString;

1 个答案:

答案 0 :(得分:1)

当您从类库中使用/实例化类而不是尝试直接从类库访问web.config时,将连接字符串作为参数传递。这是一种相当普遍的做法,对于可能需要维护代码的其他人来说更容易识别。

//in the MVC code somewhere
string conStr = null;
if(ConfigurationManager.ConnectionStrings["MyConnectionStringName"] != null)
   conStr = ConfigurationManager.ConnectionStrings["MyConnectionStringName"].ConnectionString;
else
{
   //connection string not found
}
//instantiating class from the class library
var myFoo = new Foo(conStr);