我想在用户会话过期时运行一些数据库处理,但我需要知道会话过期的用户是谁。
我正在考虑简单地设置Session["CurrentUserId"]
登录时可以在会话到期时访问,但认为可能有一种方法可以直接从会话中获取 HttpContext.User.Identity?
我想在用户会话过期时运行一些数据库处理,但我需要知道会话过期的用户是谁。
我正在考虑简单地设置Session["CurrentUserId"]
登录时可以在会话到期时访问,但认为可能有一种方法可以直接从会话中获取 HttpContext.User.Identity?
好吧,看看 MSDN 上的类定义,看起来你不能直接从 Session 的属性/成员中访问它。
但是,它们都是同一个对象的属性,在您的情况下将是当前的 HttpContext。因此,当会话针对一个上下文(理解:一个 http 请求)结束时,上下文的当前用户与您正在寻找的用户相同。
否则,您始终可以使用存储在缓存中的哈希表,其中键是Session.SessionId
,值是用户身份。