为一个Web应用程序提供多个配置的最佳方法是什么

时间:2013-09-16 14:22:20

标签: asp.net web-config

我们实际上有一个Web应用程序,由业务的3个不同部分使用,每个部分都有自己的(虽然结构相同)数据库。

是否可以为每个域设置不同的web.config?或者有更好的方法来处理这个问题吗?确实有一个强有力的论据,即拥有3个独立的Web应用程序(即使这意味着维持3种不同的部署)

1 个答案:

答案 0 :(得分:0)

外部化web.config的<appSettings /><connectionStrings />部分。

例如,您可以从名为applicationsettings.config的文件中读取appSettings,该文件位于名为WebConfiguration的子文件夹下,您将拥有:

<appSettings configSource="WebConfiguration\applicationsettings.config" />

然后在WebConfiguration\applicationsettings.config文件中,您有:

<appSettings>
  <add key="Setting1" value="Value1" />
  <add key="Setting2" value="Value2" />
</appSettings>

只需在每个环境中配置每个环境设置,并且核心web.config不需要在不同环境之间进行更改。

在我目前的项目中,我们这样做,通过从源代码控制中排除外部化文件,我们可以安全地部署到多个环境,而不必担心覆盖特定于环境的设置。