使用ASP.NET的app.config API中的ConnectionString

时间:2017-02-21 09:47:03

标签: c# asp.net .net api xaml

我目前正在使用包含两个项目的ASP.net解决方案。一个MVC项目,另一个是用作API的类库。

enter image description here

目前我的项目MVC的web配置中有一个这样的连接字符串。

enter image description here

我在API中使用以下代码阅读它:

public ConnectionProvider()
{
    this.connectionString = ConfigurationManager.ConnectionStrings[Connection.Name].ConnectionString.ToString();
    factory = DbProviderFactories.GetFactory(ConfigurationManager.ConnectionStrings[Connection.Name].ProviderName.ToString());
}

问题是我想在我的API的app.config中移动连接字符串,默认情况下,每次启动时都会在web.config中读取。

2 个答案:

答案 0 :(得分:0)

使用资源文件是一个坏主意。

只需从api复制连接字符串并将其放在web.config中。通过使用资源文件,无需重新编译即无法更新该连接字符串。

Web应用程序将使用web.config,并且可以从那里访问连接字符串。如果要在另一个项目(例如桌面应用程序)中重用相同的api,请再次将连接字符串复制到入口点的配置文件中。

答案 1 :(得分:0)

正如我通过评论建议的那样,我会在类库中使用资源文件。

虽然@Nkosi连接字符串是静态的并不是错误的,但它是在没有实际API或数据库调用的情况下携带连接字符串的最简单方法。

但是,并不是需要重新发布的整个应用程序。 如果类库代码中的功能没有改变,你可以简单地构建类库并覆盖它的.dll。

另一个有价值的解决方案是将连接字符串保存在单独的文本文件中,所有解决方案都将使用该文件。 然后,您可以在所有应用程序中替换该段代码,同时具有1个集中访问点,可以替换无需构建和替换任何内容:)。