配置文件 - 在应用程序设置中集中值并在连接字符串中使用

时间:2013-08-01 13:09:28

标签: .net web-config app-config

不确定这是否可行,但认为无论如何都不会有任何不妥。

在某种情况下,在应用程序设置<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中没有轻微修改的解决方案否则。

同样,这是一个强烈的脑力激荡的想法,并希望把这个想法抛到别人身上,这可能比我更“知识渊博”。

1 个答案:

答案 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>