最近,我正在寻找一种在升级ASP.Net MVC Web应用程序的过程中向Web应用程序的最终用户显示友好消息和正确的http状态503的方法。
将app_offline.htm文件放在应用程序根文件夹中似乎是一种理想的解决方案。但是,这有一个主要缺点。我天真地假定,无论Web应用程序的状态如何,都将为每个请求提供该页面。但是,事实证明,此机制内置于ASP.Net中,并且取决于Web应用程序的有效配置。因此,例如,如果正在修改应用程序的web.config文件并包含一些错误,则该应用程序仍将返回错误页面,而不仅仅是app_offline.htm文件内容。
Http重定向和URL重写模块也都依赖于有效的web.config,因此它们无法解决此问题。
当然,即使在升级过程中,我们也应始终避免使用无效的web.config,但这已经发生了。