我正在使用 MVC3,我想知道区分您的环境的最佳方法是什么?例如,我正在考虑向 appSettings 添加一个键并引用它,但是在 MVC3 中是否有更好的方法?我在 3 个环境中工作:开发、登台和生产。
谢谢
我正在使用 MVC3,我想知道区分您的环境的最佳方法是什么?例如,我正在考虑向 appSettings 添加一个键并引用它,但是在 MVC3 中是否有更好的方法?我在 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 自动创建转换配置文件。
对于 MVC UI 项目,Web.config 可能是一个好地方。假设数据层和服务层是分开的,您在其他项目中也会有条目。
我建议看一下web config transformation。一旦你有了 web.config 设置的基础,你就可以为你的登台和生产环境创建一个转换。
如果您需要更多信息,网上有很多很好的例子。