我想知道访问设置的最佳做法 在配置文件中有dev / test / production类型。
如果您对每种类型都有不同的配置 发布一个ASP.NET网站不会复制配置吗?
马尔科姆
答案 0 :(得分:3)
我们通常在每个站点上手动注入设置文件。我认为实际依赖VS发布到您的生产网站并不常见,尽管并非闻所未闻。源代码控制有dev / test / prod / etc. web.config文件。
答案 1 :(得分:1)
ConfigurationManager.AppSettings?
http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.appsettings.aspx
答案 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文件。