IIS网站文件结构修改导致服务器重启的联想到IIS静态缓存方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IIS网站文件结构修改导致服务器重启的联想到IIS静态缓存方法
IIS有一个“File Change Notifications(FCNs)”,ASP 2.0所谓“更安全、更稳定”的新特性,它是用来监视Web站点目录下的文件结构或内容“是否被大量改变”。

如果站点被改变,则自动重启站点。

这个特性主要考虑到,会缓存很多资源,而如果没有监控目录的变动的话,那么有些已删除的资源就有可能仍然被使用着,造成其它不必要的资源泄露。

删除或重命名站点下的任意目录或XML文件会导致丢失Session,从Global.asax(据说是一个很糟糕的设计,但我觉得还OK,长处短处是并存的。

)的运行日志看出,Web程序经常莫名其妙重启。

在Visual Studio 2008调试时使用的自带轻量级Web服务器不会有这些问题。

问题就在这里。

直观的思路就是把FCNs禁用。

既然有监视目录的功能,那么完全可以拿来做网站的静态缓存使用,当Aspx 文件第一执行编译以后,就相当于被缓存了,修改Aspx文件,无效果,必须要重启IIS才行。

非常好用。

将FCNS设置为1就ok了,同时解决了两个问题。

在HKLM\Software\Microsoft\下添加一个名为:FCNMode的DWORD 值,默认它应该是不存在的,它的值含义为:
不存在,或不等于1且不等于2:这是默认行为。

对每一个子目录,应用程序会创建一个对象监视这个目录。

值为1:应用程序将禁用FCNs。

值为2:应用程序将创建一个对象监视主目录,应用程序用这个对象监视每个子目录。

显然,FCNMode的值设为1即可禁用FCNS。

最后,重启IIS。

相关文档
最新文档