我有一个class library project(dll)
和一个MVC
项目(我使用ASP.net Core
和.net
框架。如何阅读connectionstring
中我的MVC项目的WebConfig
文件中的dll
?我在dll
内部,我需要阅读它,如果我已经在MVC项目的WebConfig中已经将connectionstring
硬编码放在那里,我也不想这样做我怎么能这样做?
我在我的dll中使用了这段代码,但它无效:
var connectionString = ConfigurationManager.ConnectionStrings["MyConnectionStringName"].ConnectionString;
答案 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);