我有一个Web项目调用一个库项目(DataAccess)从数据库中检索一些数据。我添加了一个App.config文件(添加 - >新建项目 - >应用程序配置文件)的数据访问项目,并增加了部分的connectionString像这样:从app.config获取ConnectionString
<configuration>
<connectionStrings>
<add name="local"
connectionString="Data Source=.\sql2008;Initial Catalog=myDB;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
在数据访问项目,我有BuildConnection方法:
internal static SqlConnection BuildConnection()
{
string connectionString = ConfigurationManager.ConnectionStrings["local"].ToString();
return new SqlConnection(connectionString);
}
当我从Web项目调用方法时,它会抛出一个空异常,抱怨“本地”连接字符串不存在。在调试了一段时间后,我将相同的连接字符串添加到Web项目的Web.config中,现在它工作正常。但问题是我想将DataAccess项目从Web项目中分离出来,换句话说,无论是谁调用它,我都希望DataAccess项目使用它自己的app.config文件来。这甚至有可能吗?任何帮助,将不胜感激。
假设您有MyApp.DataAccess.dll,MyApp.DataAccess.dll.config和MyApp.WebApp.dll,当您从您的Web应用程序访问您的数据访问时,您可以让数据访问从其中读取连接字符串自己的配置文件。这是可能的。你需要'ConfigurationManager.OpenExeConfiguration'。 –