我正在我的PC上开发ASP .NET应用程序并将其部署在主机上。
该应用程序使用Microsoft SQL DB,我有两个数据库,一个是本地的,一个是服务器上的。
如何配置应用程序,以便它可以连接到两个数据库而无需更改任何代码? (2个数据库具有相同的名称和结构)
由于
答案 0 :(得分:3)
将连接字符串存储在web.config中:
<configuration>
<connectionStrings>
<add name="Name" connectionString="..." />
</connectionStrings>
</configuration>
然后在你的代码中:
string connStr = ConfigurationManager.ConnectionStrings["Name"].ConnectionString;
答案 1 :(得分:1)
如果你需要将所有这些存储在一个配置文件中,你也可以像这样做一些间接:
string name = ConfigurationManager.AppSettings["DB"]
string connStr = ConfigurationManager.ConnectionStrings[name].ConnectionString;
<configuration>
<appSettings>
<add key="DB" name="Prod" />
</appSettings>
<connectionStrings>
<add name="Prod" connectionString="..." />
<add name="Test" connectionString="..." />
<add name="Dev" connectionString="..." />
</connectionStrings>
</configuration>
归结为谁可以在生产中编辑配置以及如何允许您部署软件。有时这是一个可行的解决方案,使用的实际选项完全在其他地方指定。
答案 2 :(得分:1)
使用web.config的问题是您必须在部署时更改它。
我发帖称为machine.config here。
对于无法编辑machine.config的地方,我展示了将其放在配置文件中的方法,该文件不在您网站的目录下here.
答案 3 :(得分:0)
和nice website,指定大多数数据库的连接字符串