我正在编写一个用户身份验证类。在请求过程中,有很多对当前用户的引用,所以我想将其缓存在内存中,而不是像单例一样调用数据库。我正在考虑使用会话,并在每次请求结束时清除它。
像这样:
public static User Current() {
if (Session["current-user"] == null) {
Session["current-user"] = GetUserFromDB(); // example function, not real
}
return (User)Session["current-user"];
然后在app_end请求中:
Session.Clear();
发布于 2009-02-15 20:16:12
HttpContext.Items["user"] = user;
您可以在整个请求过程中引用上下文项,并在请求结束时将其清除。
发布于 2009-02-15 19:49:17
使用HttpContext
类。您可以在HttpContext.Current
的控制器上下文中访问它。
HttpContext.Items
集合是您要使用的集合。
https://stackoverflow.com/questions/551468
复制相似问题