删除项目文件/文件夹IIS重启,Session丢失问题
2011-12-08 17:53
435 查看
最近在做一个项目,涉及到大量文件中转(先上传到本项目的某个文件夹中,在移动到FTP中),后面发现每次一删除文件之后在做操作都会提示未登录,刚开始以为是WebService Session丢失问题,后面发现缓存也更新了。仔细一看,SSO返回的ticket也不相同,才发现原来IIS重启了,最后解决方案如下:
新建一个类继承IHttpModule
随后在Web.Config中加入Module配置
这样每次再删除文件/文件夹AppDomain都不会重启了,Session也不会丢失了。世界也变得更美好了!
PS:Web.Config和bin文件夹下的改动依然会让Web重启,这也是必须保留的!
新建一个类继承IHttpModule
/// <summary> /// Stops the ASP.NET AppDomain being restarted (which clears /// Session state, Cache etc.) whenever a folder is deleted. /// </summary> public class StopAppDomainRestartOnFolderDeleteModule : IHttpModule { private static bool DisableFCNs = false; public void Init(HttpApplication context) { if (DisableFCNs) return; PropertyInfo p = typeof(HttpRuntime).GetProperty("FileChangesMonitor", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static); object o = p.GetValue(null, null); FieldInfo f = o.GetType().GetField("_dirMonSubdirs", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase); object monitor = f.GetValue(o); MethodInfo m = monitor.GetType().GetMethod("StopMonitoring", BindingFlags.Instance | BindingFlags.NonPublic); m.Invoke(monitor, new object[] { }); DisableFCNs = true; } public void Dispose() { } }
随后在Web.Config中加入Module配置
<!--解决删除项目文件/文件夹引起的IIS重启--> <add name="stopAppDomainRestartOnFolderDelete" type="DeployAssistant.Facade.Web.StopAppDomainRestartOnFolderDeleteModule,DeployAssistant.Facade"/>
这样每次再删除文件/文件夹AppDomain都不会重启了,Session也不会丢失了。世界也变得更美好了!
PS:Web.Config和bin文件夹下的改动依然会让Web重启,这也是必须保留的!
相关文章推荐
- asp.net 删除项目文件/文件夹IIS重启,Session丢失问题
- asp.net 删除项目文件/文件夹IIS重启,Session丢失问题
- 删除项目文件/文件夹IIS重启,Session丢失问题
- win 2003 / IIS6 部署网站的时候,文件IO操作、删除项目文件, 会导致IIS重启,Session丢失问题
- asp.net处理删除网站下文件夹导致iis重启session丢失的问题
- asp.net网站项目开发,删除文件夹后Session丢失问题解决
- 【转载】ASP.NET网站问题:删除或重命名站点下的任意目录导致站点重启(Session丢失)及解决办法
- 删除文件夹Session值丢失问题
- 删除服务器的文件夹后,session就丢失的问题
- javaWeb开发中关于eclipse等ide重新部署或重启项目等原因造成上传文件丢失问题解决方案
- 关于c# 删除文件夹时SESSION丢失问题解决办法
- 删除服务器的文件夹后,session就丢失的问题
- 解决ssh项目用swfupload上传文件时session丢失问题.
- 解决tomcat每次重启丢失项目文件的问题
- 上传文件细节处理问题(包括中文乱码、限制文件大小、显示上传速度、删除临时文件,随机生成文件夹等)
- Android Studio 移动项目到新文件夹,Installation failed with message Failed to finalize session 问题的解决
- asp.net删除文件夹后引起Session丢失的解决办法
- Android项目R文件丢失问题—自己总结
- 安卓jni项目会删除其他so文件的问题解决
- 删除文件/文件夹时,报错说"找不到该项目,请确认该项目的位置"