【发布时间】:2011-04-27 11:41:44
【问题描述】:
我正在 asp.net mvc2 中创建一个 Web 应用程序,我在一个有趣的情况下遇到了一个小问题,我认为这是 Web 应用程序的默认行为。 (sessionstate= inproc)
当我删除 web 应用程序根目录中的目录时,我的会话数据被清除。
我已经阅读了一些寻求解决方案的人提出的问题,但对问题的了解不多,有人知道如何防止这种行为吗?
注意:我不想为其他 IIS 实例服务的“子域”移动目录,也不想更改 sqlserver 的会话状态
提前感谢您的帮助。
谢谢各位,在该文章的链接上找到了解决方案。
我已在我的 global.asax Application_Start 上添加了以下代码:
Dim p As System.Reflection.PropertyInfo = GetType(HttpRuntime).GetProperty("FileChangesMonitor", Reflection.BindingFlags.Public Or Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Static)
Dim o As Object = p.GetValue(Nothing, Nothing)
Dim f As System.Reflection.FieldInfo = o.GetType.GetField("_dirMonSubdirs", Reflection.BindingFlags.Instance Or Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.IgnoreCase)
Dim monitor As Object = f.GetValue(o)
Dim m As System.Reflection.MethodInfo = monitor.GetType.GetMethod("StopMonitoring", Reflection.BindingFlags.Instance Or Reflection.BindingFlags.NonPublic)
m.Invoke(monitor, New Object() {})
谢谢。
【问题讨论】:
标签: asp.net session web-applications session-state