gpt4 book ai didi

c# - 在 C# 中的 HttpContext.Current.Session 中设置和获取 session 值

转载 作者:太空宇宙 更新时间:2023-11-03 23:10:33 30 4
gpt4 key购买 nike

我有一个名为 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.

我该如何解决这个问题?

最佳答案

当当前实例的 SessionObjects 对象为 null 时,尝试创建 SessionObjects 类的新实例。

 public static  class CommonHelper
{
public static SessionObjects sessionObjects
{
get
{
if ((HttpContext.Current.Session["sessionObjects"] == null))
HttpContext.Current.Session.Add("sessionObjects", new SessionObjects());
return HttpContext.Current.Session["sessionObjects"] as SessionObjects;
}
set { HttpContext.Current.Session["sessionObjects"] = value; }
}
}

关于c# - 在 C# 中的 HttpContext.Current.Session 中设置和获取 session 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39376495/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com