我正在使用MVC3,我想知道区分您的环境的最佳方法是什么?例如,我正在考虑为应用程序添加键并引用它,但是在MVC3中有更好的方法吗?我在3个环境中工作:开发,分期和生产。

谢谢

有帮助吗?

解决方案

我使用配置管理器并定义调试,测试,发布为编译时间常数。对于配置,我使用 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自动创建转换配置文件。

其他提示

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

我建议看看 Web配置转换. 。一旦获得了Web.config设置的基础,您将为您的舞台和生产环境创建一个转换。

如果您需要更多信息,则网上有许多好的示例。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top