美文网首页
删除、移动、修改文件导致ASP.NET session 失效,解

删除、移动、修改文件导致ASP.NET session 失效,解

作者: yangyan | 来源:发表于2016-06-11 21:35 被阅读0次

1、参考 stackoverflow

  http://stackoverflow.com/questions/2248825/asp-net-restarts-when-a-folder-is-created-renamed-or-deleted

http://dotnetslackers.com/Community/blogs/haissam/archive/2008/11/12/disable-session-expiration-when-using-directory-delete.aspx

的解释,这事asp.net 的自我回收机制,属于正常现象;解决方法有两中:

a、 需要删除的文件,不要放在根目录下,或者说工程目录下,避免触发回收机制

b、 新建Global.asax 在Application_Start() 中添加如下代码:

PropertyInfo p = typeof(System.Web.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[] { });

要添加  using System.Reflection;

别问我,代码是神马意思,我只是大自然的搬运工!!!

相关文章

网友评论

      本文标题:删除、移动、修改文件导致ASP.NET session 失效,解

      本文链接:https://www.haomeiwen.com/subject/mtwcdttx.html