不确定这是否可行,但认为无论如何都不会有任何不妥。
在某种情况下,在应用程序设置<add key="database" value="dbName" />
中声明变量,然后在“连接字符串”元素中“理论上”引用,例如<add name="ConnectionString" connectionString="Data Source=.;Initial Catalog=%database%;Persist Security Info=True;Pooling=False;Integrated Security=yes" providerName="System.Data.SqlClient"/>
我确信语法上%database%
不会很好,但只是因为它会抵消我放置它的位置。
目前我有5个使用相同数据库的连接字符串,对每个数据库的不同模式访问以及对对象组件的不同访问角色。
如果我只需要编辑App Setting键并通过代理它将通过引用与所有其他人一起传播,那么部署也会更容易。
我相信你们中的一些人会说连接字符串是应用程序设置本身,然后对关键字进行查找和替换,但我正在寻找在App_Load或App_Load中没有轻微修改的解决方案否则。
同样,这是一个强烈的脑力激荡的想法,并希望把这个想法抛到别人身上,这可能比我更“知识渊博”。
答案 0 :(得分:0)
您可以将变换用于配置文件。 您也可以参考Oleg Sych - config transforms。
<强>的web.config 强>
<connectionStrings>
<clear />
<add name="xyz" providerName="System.Data.SqlClient" connectionString="Server=(local);Database=fbi;User Id=test;Password=test" />
</connectionStrings>
<强> web.release.config 强>
<connectionStrings>
<add name="xyz"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>