.net – 你如何使用Machine.config,还是你?

对于ASP.Net应用程序部署,您存储在machine.config中的是什么类型的信息(如果有的话)?

如果您没有使用它,您如何管理每个环境可能会更改的特定于环境的配置设置?

我正在寻找一些“最佳实践”和每个的好处/陷阱.我们将在两个月内部署一个全新的应用程序到生产,我在这些类型的决定中有一些自由.我想确保我以尽可能最好的方式接近事情,并尽量避免在以后拍摄自己的脚.

FYI我们正在使用它(machine.config)只是数据库连接信息,并存储可能在数据库中的配置表中更改的所有其他变量.

我们正在考虑使用machine.config为环境添加一个密钥,然后在web.config中有一个部分,对于所有环境都是一致的.这样我们可以做一个“真正的”XCopy部署.

例如.在每台计算机(本地开发工作站,阶段服务器,构建服务器,生产服务器)的machine.config中,我们将添加以下内容:

<appSettings>
    <add key="Environment" value="Staging"/>
</appSettings>

然后,任何环境特定的配置元素都会附加环境,如下所示:

<connectionStrings>
    <add name="Customers.Staging" provider="..." connectionString="..."/>
</connectionStrings>
<appSettings>
    <add key="NTDomain.Staging" value="test.mydomain.com"/>
</appSettings>

我们没有解决方案的一个问题是如何在web.config中启用跟踪,以便调试环境,而不是实时环境.

另外一个问题是,用户名和密码现在在您的源代码管理系统中.这对我们来说不是问题.

翻译自:https://stackoverflow.com/questions/94053/how-are-you-using-the-machine-config-or-are-you

转载注明原文:.net – 你如何使用Machine.config,还是你?