根据an earlier question about Visual Studio configurations,无法使用Visual Studio的配置管理器为ASP.net网站项目创建不同的配置。
对于普通项目,我们有#if指令根据我们是在调试还是在生产中切换某些服务器或数据库变量。这不适用于网站。
例如,在定义网站后端服务器连接的类(在App_Code中)中,如果要运行调试服务器,可能会有一大堆这样的代码覆盖web.config中的生产值在您的本地机器上:
#if DEBUGLOCAL
ServerProperties.ServerIP = "localhost";
ServerProperties.DataContextIP = "localhost";
#endif
这不起作用,因为网站没有“Debug Local”配置,因此没有定义DEBUGLOCAL。
您是否找到了解决此类问题的好方法?此外(我希望)重构一切,以便所有这些引用都存在于类库项目中?
ETA:web deployment projects可以在这里帮忙吗?
答案 0 :(得分:1)
也许在web.config中进行一些交换的Web部署项目可能会有所帮助?另一个想法是在web.config中有一个连接字符串,它从每个环境中可以存在的预先指定的数据库中提取各种值,以便轻松更改设置,而无需触摸任何文件。
答案 1 :(得分:0)
另一种选择可能是upgrade the web site to a web application。
现在进行转换可能需要做很多工作,但如果您决定使用网站或Web应用程序,那么进行配置的能力可能有助于提升规模。