有没有人能够轻松切换asp.net mvc网站的开发和实时版本?每次我做一些更改我都需要更改以通过我的web.config并注释掉我所有的本地内容并取消注释我的所有远程设置。我还需要更新linq-to-sql dbml文件以指向正确的连接字符串。
每次我在控制器中进行更改时都会发生这种情况。上传更改后,我必须执行相同的过程并将其恢复为开发(本地)模式。
是否有自动处理方法,或者至少有一个可以在两者之间标记的设置?
由于
答案 0 :(得分:1)
我所做的一种方法是制作两组配置设置
<LiveSomeSetting>something</LiveSomeSetting>
<TestSomeSetting>anotherthing</TestSomeSetting>
然后在我的班级中读取配置信息,我会查看类似系统环境/计算机名称的内容,如果适用于LIVE机器的名称,请查看设置......否则开发。
if (System.Environment.MachineName.ToLower().StartsWith("devMachineName"))
IsLive = "Test";
else
IsLive = "Live";
Application["IsLive"] = IsLive;
SomeSetting = ConfigurationManager.AppSettings[IsLive + "SomeSetting"];
答案 1 :(得分:0)
我使用了一种简单的技术,Scott Hanselman在1997年发表了博客。它主要涉及为每个构建类型维护单独的web.config文件。然后有一个预构建事件,它将正确的web.config复制到位。
它确实有不得不维护2个以上web.config文件的缺点,但是一旦你启动并运行它就不是那么大的问题。
看看这篇文章:
Managing Multiple Configuration File Environments with Pre-Build Events
HTHS,
查尔斯