我正在开发一个Web应用程序,我有3个项目:ASP.NET Web API,ASP.NET MVC和单元测试项目。
我想在web.config中与sqlserver数据库建立连接,它只适用于应用程序的一个。但是如果我在api的web.config中进行连接,那就更好了
我认为Web应用程序不关心API中的web.config,但我在API中有我的DatabaseConnection.cs,所以我不明白为什么它在另一个项目中寻找配置文件。
DatabaseConnection.cs:
public class ApiDatabaseConnection
{
string connectionPath = WebConfigurationManager.ConnectionStrings["databaseConnection"].ConnectionString;
SqlConnection connectionToSql;
public SqlConnection OpenConnection()
{
connectionToSql = new SqlConnection(connectionPath);
try
{
connectionToSql.Open();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
return connectionToSql;
}
Web.config:
<connectionStrings>
<remove name="databaseConnection" />
<add name="databaseConnection" connectionString="Server=MyServer;Database=MyDb;User ID=MyUser;Password=MyPwd;MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" />
我也试过这个:
Configuration rootWebConfig1 = WebConfigurationManager.OpenWebConfiguration("~/Web.config");
if (rootWebConfig1.AppSettings.Settings.Count > 0)
{
KeyValueConfigurationElement customSetting = rootWebConfig1.AppSettings.Settings["customsetting1"];
if (customSetting != null)
Debug.WriteLine("customsetting1 application string = \"{0}\"", customSetting.Value);
else
Debug.WriteLine("No customsetting1 application string");
}
它只能看到应用程序的web.config,而不是API的。