更新 -- 复制问题的过程:
1)在c:\projects\restart-demo创建一个网站项目。
2)添加默认的web.config和一个虚拟的aspx页面test.aspx
3)将IIS映射到根目录c:\projects\restart-demo
4)使用perfmon,健康监测,跟踪全局.asax应用程序结束等方式监视应用程序重启。
5)在浏览器中请求页面http://localhost/test.aspx
应用程序开始
6)创建新文件夹c:\projects\restart-demo\asdf
应用程序结束
7)在浏览器中请求页面http://localhost/test.aspx
应用程序开始
8)将文件夹c:\projects\restart-demo\asdf重命名为c:\projects\restart-demo\asdf1
应用程序结束
结束更新
我们正在使用后端CMS在ASP.NET站点中生成文件和文件夹。
用户能够创建/修改/删除文件并将其推送到Web Farm。
我们注意到一个问题:
当用户创建、重命名或删除文件夹时,它会导致App Domain重启。因此,会丢失所有的session,cache等。
注意,它并不需要是特殊的文件夹,如/bin或/App_Code。
有没有办法阻止这种行为?
这真的会妨碍性能,原因如下:
- 缓存在应用程序域重启时被清空
- 应用程序域需要在重启后重新构建