使用API​​的web.config而不是应用程序的

时间:2017-05-11 11:18:22

标签: c# asp.net-mvc api

我正在开发一个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的。

0 个答案:

没有答案