我在MVC4中有一个应用程序,它在Session_End()
中的Global.aspx.cs
方法中有一些逻辑。
但是,我需要将会话状态从InProc
更改为SQLServer
,这意味着不会调用Session_End()
方法。
我试图影响workaround ,但我无法让它发挥作用。
Session_End()
有哪些替代方案?我只需要在会话超时时运行一些逻辑。
答案 0 :(得分:1)
当SessionState
处于SQLServer
模式时,会话不会超时。
来自MSDN page on Session-State Modes:
SQLServer 模式将会话状态存储在SQL Server数据库中。这可确保在重新启动Web应用程序时保留会话状态,并使会话状态可用于Web场中的多个Web服务器。
答案 1 :(得分:0)
这只是一个猜测,但如果Session已经结束,Session属性将为null或为空?
也许您可以测试它,可能是在BaseController中或为每个请求调用的东西。