从配置访问设置的最佳做法是什么?

时间:2010-02-28 00:18:53

标签: asp.net

我想知道访问设置的最佳做法 在配置文件中有dev / test / production类型。

如果您对每种类型都有不同的配置 发布一个ASP.NET网站不会复制配置吗?

马尔科姆

3 个答案:

答案 0 :(得分:3)

我们通常在每个站点上手动注入设置文件。我认为实际依赖VS发布到您的生产网站并不常见,尽管并非闻所未闻。源代码控制有dev / test / prod / etc. web.config文件。

答案 1 :(得分:1)

答案 2 :(得分:1)

在Visual Studio 2010中,您可以维护多个Web.Config并使用转换为环境生成正确的配置。

http://blogs.msdn.com/webdevtools/archive/2009/05/04/web-deployment-web-config-transformation.aspx

基本上我们可以为每个环境制作一个默认的Web.Config和不同的Transformation文件,例如

Web.Debug.Config Web.Staging.Config Web.Production.Config

转换文件可以覆盖环境的特定配置项的值,例如

<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
     <connectionStrings> 
        <add name="personalDB" 
          connectionString="Server=StagingBox; Database=personal; User Id=admin; password=StagingPersonalPassword" 
          providerName="System.Data.SqlClient" xdt:Transform="Replace" xdt:Locator="Match(name)" /> 
        <add name="professionalDB" 
         connectionString="Server=StagingBox; Database=professional; User Id=professional; password=StagingProfessionalPassword" 
         providerName="System.Data.SqlClient" xdt:Transform="Replace" xdt:Locator="Match(name)"/> 
       </connectionStrings> 
</configuration>

每当我们针对该环境构建目标时,Transformation都会应用于默认的Web.Config文件。