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