如何定义web.config局部变量

时间:2014-11-05 17:49:15

标签: c# asp.net-mvc asp.net-mvc-4 web-config configuration-files

我在C#中使用.NET Framework 4.0有一个Web应用程序,我正在尝试找到一种在Web.Config中定义变量的方法,该变量可以在Web.Config中的其他位置引用。

我想要这样的东西。

<?xml version="1.0" encoding="utf-8"?>
<LocalWebConfigVars>
    <add key="Var1" value="ServerName1"/>
    <add key="Var2" value="DatabaseName1"/>
</LocalWebConfigVars>
<configuration>
    <connectionStrings>
        <add name="AppConnectionString" connectionString="DATA SOURCE=@Var2 ServerName=@Var1"/>
        <add name="OtherStuff" value="@Var1"/>
etc...

目前我必须将3或4个硬编码值(其中一些嵌入其他值只是值)更新为同一个东西,并希望更容易保持同步。

这可能吗?

感谢。

编辑:

只是一些背景知识。这成为问题的原因是我们在web.config中定义了应用程序数据库实例(以及其他实例中的特定设置)。我们在测试和生产环境中有多个数据库实例,如果我需要在测试时切换到不同的数据库实例并错过其中一个完整的引用,我会得到一些奇怪的结果。我试图通过定义一次并在其他地方引用它来避免这种情况。

1 个答案:

答案 0 :(得分:2)

通过设置项目配置和放大,不会对每个环境进行简单的.config转换。转换,您将能够通过使用解决方案配置下拉列表从环境交换到环境。

link 有关.config文件转换的更多信息