加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 什么是建议替代常见的破坏app_offline.htm黑客?

发布时间:2020-12-15 23:38:17 所属栏目:asp.Net 来源:网络整理
导读:在相当一些情况下,将app_offline.htm放在根目录中是正确的:你做一些更新,消息在更新时出现,就是这样.这个想法是,正如微软所说,在任何东西被调用之前,IIS首先检查app_offline.htm是否存在,如果是这样,它将取消所有内容并显示它. 所以对于这么好,但在许多情况
在相当一些情况下,将app_offline.htm放在根目录中是正确的:你做一些更新,消息在更新时出现,就是这样.这个想法是,正如微软所说,在任何东西被调用之前,IIS首先检查app_offline.htm是否存在,如果是这样,它将取消所有内容并显示它.

所以对于这么好,但在许多情况下,它不起作用:

>当您在ASPX页面中出现编译错误,并且用户直接链接到该错误时
>当您有冲突的程序集
>当您的web.config中有解析错误时
>在删除/上传整个网站的过程中.
>仍然显示与静态HTML页面的直接链接
>文件未找到,在显示消息之前抛出访问被拒绝

可能更多的场景存在失败.我的观点是:对于任何严重的更新工作,app_offline.htm是不合适的.我有时在IIS中创建重定向到另一个站点,但是另一个站点可能并不总是可用,并且可能会混淆用户.

理想情况下,我希望将当前位置保留在最终用户的url位置栏中,显示消息,并让页面自动刷新每分钟,以查看该站点是否已回覆,以便用户继续在哪里当网站回来的左边.虽然技术上足够简单,静态页面,但是由于上述原因,会导致错误的发生.

解决方法

没有人提到web.config和重新编译,所以这里是.我遇到这个问题我不同意说这是“不打算用于刺激使用”的人:VS 2010在部署时使用app_offline,因此它被编入代码.

解决办法(信用于Kurt Schindler,blog post here).

>将app_offline.htm复制到您的网站
使一个web.config看起来像这样(见下面编号的块)
>将该web.config复制到您的远程目录
>将除真实的web.config之外的所有站点文件复制到远程目录
>将真正的web.config复制到远程目录(应该启动重新编译)

web.config中:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration>
  <system.web>
    <httpRuntime waitChangeNotification="300"
       maxWaitChangeNotification="300"/>
  </system.web>
  <system.webServer>
     <modules runAllManagedModulesForAllRequests="true"  />
  </system.webServer> 
</configuration>

这样做的结果是,如果您关心在部署期间看不到YSOD的最终用户,则不能直接使用VS 2010应用程序部署.因此,您需要使用Nant或其他部署工具来执行此操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读