【发布时间】:2013-10-24 07:12:39
【问题描述】:
所以基本上我有一个ConcurrentDictionary<string, CustomUserData>。我想做的是在用户登录时将 SessionId/UserData 对添加到此字典中,并在用户注销或会话超时时将其从字典中删除。这样做的最佳做法是什么。我试图使用 global.asax 事件来实现这一点,但我找不到任何合适的。
【问题讨论】:
-
您可以使用内置的Session State 功能,但您应该考虑是否真的需要将复杂对象存储在内存中而不是数据库中。跨度>
-
我同意 RGraham。您也可以考虑简单地使用寿命较短的 cookie。只有当会话数据存储在内存中(在 w3wp.exe 进程中)时,才会通知您会话结束。
标签: c# asp.net-mvc global-asax