在相当多的情况下,放置app_offline.htm
在根目录中是正确的:您进行一些更新,更新时出现消息,就是这样。正如微软所说,这个想法是,在调用任何内容之前,IIS 首先检查 app_offline.htm 是否存在,如果存在,它会取消所有内容并显示它。
所以很好,但在许多情况下它不起作用:
- 当您在 ASPX 页面中出现编译错误并且用户直接链接到该页面时
- 当您有冲突的程序集时
- 当您的 web.config 中出现解析错误时
- 在删除/上传整个网站的过程中。
- 指向静态 HTML 页面的直接链接仍然显示为这样
- 在显示消息之前抛出未找到文件、拒绝访问
可能存在更多失败的场景。我的观点是:对于任何严肃的更新工作,app_offline.htm 都不适合。我有时会在 IIS 中创建重定向到另一个站点,但另一个站点可能并不总是可用,它可能会使用户感到困惑。
理想情况下,我希望将当前位置保留在最终用户的 url 位置栏中,显示消息,并让页面每分钟自动刷新一次以查看站点是否返回,以便用户继续他的位置网站返回时的左侧。虽然静态页面在技术上很容易,但由于上述原因,一旦出现错误,它就会失败。