在C#中的HttpContext.Current.Session中设置和获取会话值

时间:2016-09-07 18:00:56

标签: c# session

我有一个名为CommoonHelper的静态类。

 public static  class CommonHelper
    {

        public static SessionObjects sessionObjects
        {
            get
            {

                if ((HttpContext.Current.Session["sessionObjects"] == null))
                {

                    return null;
                }
                else
                {
                    return HttpContext.Current.Session["sessionObjects"] as SessionObjects;
                }
            }
            set {
                HttpContext.Current.Session["sessionObjects"] = value;
            }
        }

    }

在SessionObjects类中,我已经定义了get / set的属性,如下所示。

 public class SessionObjects
    {
        public  int UserId { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string UserName { get; set; }
        public string DisplayName
        {
            get
            {
              return  FirstName + "" + LastName;
            }
        }
    }

当我尝试分配如下的值时。

CommonHelper.sessionObjects.LastName = "test";

抛出以下异常。

System.NullReferenceException: Object reference not set to an instance of an object.

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

当当前实例的@OneToMany(mappedBy = "course", fetch = FetchType.EAGER) //@JsonIgnore - remove this private Set<Lesson> lessons = new HashSet<>(); 对象为SessionObjects时,尝试创建SessionObjects类的新实例。

null