我有一个ASP.NET站点,我将不得不采取一些重大的结构更新,我想知道我应该从客户端的角度来看待它.我听说过App_Offline.htm文件或类似的东西,但我从来没有真正得到过成功的工作.有谁知道如何做到这一点?
编辑
我的应用程序运行ASP.NET 4.0,它的价值.
解决方法
而不是弄乱app_offline愚蠢(除了其他原因,你不能继续在执行维护时内部看到网站),我在IIS中创建了一个额外的“维护停机”站点,通常会停止.它具有与主站点相同的IP,主机头等,但只有一个default.aspx,一个images文件夹和一个样式表.该文件包含“此站点将关闭以进行维护,直到xx:xx PM CST”消息.
当我准备好执行更新时,我会停止主站点并启动维护站点,然后维护站点处理它收到的任何请求,当然还会返回维护消息.
如果您正在使用主机标头,则可以修改此方法,以便在维护站点处理外部请求时,站点仍可通过LAN / WAN在内部访问.一种简单的方法是在启动维护站点之前从主站点删除< *> .yourdomain.com的主机头,并确保主站点具有可在内部访问的其他主机头(添加到本地主机)例如,文件).当您启动维护站点时,它将处理外部请求,而主站点将处理对仅内部标头的请求.
或者(这看起来很复杂,但可以省去添加和删除标题的麻烦),创建三个站点:
>主站点:配置为正常运行.
>维护站点:具有与主站点相同的IP,主机标头等,但仅包含默认的“维护停机”页面以及所需的任何图像,CSS等.
>内部测试站点:复制主站点的配置并指向相同的文件夹,但只有主机头等,用于不在公共DNS中的内部名称.
这样,您只需要停止主站点并启动其他两个站点,以便将外部流量汇集到“维护停机”站点,同时您仍然可以查看和调整主站点.这对于在部署期间往往会出现的最后几分钟的测试/错误修复很有帮助.
更新
如果您无权访问服务器或IIS管理器,则很可能无法使用任何服务器或IIS管理器.假设您的访问权限仅限于您自己的文件夹,您的选项似乎是将app_offline.htm部署到站点的根目录(ASP.NET检查该文件名),或者只是用“down”替换整个站点.维护“app.也许其他人会选择替代品.