如何在 Session_OnEnd() 方法中获取会话键值对的值

How to get a value of a session key value pair in Session_OnEnd() method

我在会话中使用 Session.Add("order",1) 添加了一个订单值,因此当用户注销时我可以解锁在用户访问它时锁定的订单。当用户注销时,还有其他方法可以触发数据库查询吗?请帮忙。

您可以在 Session_End 方法中使用您的代码,但 在以下条件下:

The Session_OnEnd event is only supported when the session-state HttpSessionState.Mode property value is InProc, which is the default. If the session-state Mode is set to StateServer or SQLServer, then the Session_OnEnd event in the Global.asax file is ignored. If the session state Mode property value is Custom, then support for the Session_OnEnd event is determined by the custom session-state store provider.

如果您使用 SQLServer 或 StateServer 进行会话管理 - 您可以实施 HttpModule。

参考以下内容:

http://www.codeproject.com/Articles/21156/ASP-NET-HttpModule-for-handling-session-end-with-S

http://www.ivan-nikolov.com/en/article/5/asp-net-session-state-mode-and-session-end-callback