通过Attributes从ASP.NET Session添加和加载对象

时间:2016-12-19 10:24:49

标签: c# asp.net asp.net-mvc

我有一个像

这样的控制器类
class MyController : Controller
{
   User user
   {
       get
       {
         if(Session["User"] == null)
             Session["User"] = // Constructing object here
         return Session["User"];
       }
   }

   ....
}

我在这个控制器中有很多像User这样的属性。我希望得到/设置没有这一切

if(Session["User"] == null)

噪声。它可能是像

这样的属性
class MyController : Controller
{
   [SessionCacheObject("User")]
   User user;
}

我该怎么做或有其他智能方法吗?

1 个答案:

答案 0 :(得分:0)

查看我的用户会话。

public static aspnet_Users LogInUser
        {
            get
            {
                if (HttpContext.Current.Session["LogInUser"] != null)
                {
                    return (aspnet_Users)HttpContext.Current.Session["LogInUser"];
                }
                else
                {
                    return null;
                }
            }
            set
            {
                HttpContext.Current.Session["LogInUser"] = value;
            }

        }

现在,只要将数据添加到会话,如下所示。

LogInUser = user; // get data from wherever you need and set it.