1

我正在使用 MVC3,我想知道区分您的环境的最佳方法是什么?例如,我正在考虑向 appSettings 添加一个键并引用它,但是在 MVC3 中是否有更好的方法?我在 3 个环境中工作:开发、登台和生产。

谢谢

4

3 回答 3

3

我使用配置管理器并将 DEBUG、TEST、RELEASE 定义为编译时常量。对于配置,我将Web.config 转换语法用于 Web 应用程序项目部署,并且强烈推荐使用它们。

例如:

//web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="MyConnectionString"
         connectionString="Data Source=SqlServer\Sql2008;
                           Initial Catalog=MyDB.Dev;
                           Integrated Security=SSPI"
         providerName="System.Data.SqlClient" />
  </connectionStrings>
  <add key="SomeAppSetting" 
       value="DebugValue"/>
</configuration>

测试转换:

//web.Test.config
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <connectionStrings>
    <add name="MyConnectionString"
         connectionString="Data Source=SqlServer\Sql2008;
                           Initial Catalog=MyDB.Test;
                           Integrated Security=SSPI"
         providerName="System.Data.SqlClient"
         xdt:Transform="SetAttributes" 
         xdt:Locator="Match(name)"/>
  </connectionStrings>
  <add key="SomeAppSetting" 
       value="TestValue"
       xdt:Transform="SetAttributes" 
       xdt:Locator="Match(key)"/>
</configuration>

当我将配置从调试更改为测试并重建/部署时,我的应用程序现在使用我的web.Test.config. 非常有用。

您可以使用配置管理器对话框构建不同的配置。您可以随时右键单击 web.config 并选择添加配置转换以让 Visual Studio 2010 自动创建转换配置文件。

于 2011-11-28T18:59:06.347 回答
0

对于 MVC UI 项目,Web.config 可能是一个好地方。假设数据层和服务层是分开的,您在其他项目中也会有条目。

于 2011-11-28T19:01:05.630 回答
0

我建议看一下web config transformation。一旦你有了 web.config 设置的基础,你就可以为你的登台和生产环境创建一个转换。

如果您需要更多信息,网上有很多很好的例子。

于 2011-11-28T19:01:41.467 回答