我目前正在使用包含两个项目的ASP.net解决方案。一个MVC项目,另一个是用作API的类库。
目前我的项目MVC的web配置中有一个这样的连接字符串。
我在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中读取。
答案 0 :(得分:0)
使用资源文件是一个坏主意。
只需从api复制连接字符串并将其放在web.config中。通过使用资源文件,无需重新编译即无法更新该连接字符串。
Web应用程序将使用web.config,并且可以从那里访问连接字符串。如果要在另一个项目(例如桌面应用程序)中重用相同的api,请再次将连接字符串复制到入口点的配置文件中。
答案 1 :(得分:0)
正如我通过评论建议的那样,我会在类库中使用资源文件。
虽然@Nkosi连接字符串是静态的并不是错误的,但它是在没有实际API或数据库调用的情况下携带连接字符串的最简单方法。
但是,并不是需要重新发布的整个应用程序。 如果类库代码中的功能没有改变,你可以简单地构建类库并覆盖它的.dll。
另一个有价值的解决方案是将连接字符串保存在单独的文本文件中,所有解决方案都将使用该文件。 然后,您可以在所有应用程序中替换该段代码,同时具有1个集中访问点,可以替换无需构建和替换任何内容:)。