我正在使用 ASP.net MVC3.0 应用程序,我将当前用户信息保存在当前 HttpContext 的 session 中。
据我所知,HttpContext.Current 是针对每个当前请求的。因此,我的 session 数据应该在新请求后清除。但是,我可以通过存储 HttpContext 从请求到请求接收当前用户 session 数据。当前的。我出于测试目的做了这个示例,以了解 MVC 3.0 中的 session 管理。
我的问题:我如何在当前请求后接收 session 数据?非常感谢你的帮助。
public static UserAccountDto CurrentUser
{
get
{
if (HttpContext.Current == null)
return null;
if (HttpContext.Current.Session[CurrentUserSessionVariable] != null)
return HttpContext.Current.Session[CurrentUserSessionVariable] as UserAccountDto;
return null;
}
private set { HttpContext.Current.Session[CurrentUserSessionVariable] = value; }
}
最佳答案
HttpContext.Current
与以下内容不相同:
HttpContext.Current.Request
最后一个在每个请求中都是不同的,第一个包含用户、 session 、服务器等成员,在许多(但不是所有)情况下都是同一个请求。
关于asp.net-mvc-3 - HttpContext.Current.Session 在 Asp.net MVC 3.0 中混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7242606/