ASP.NETCORE6中有没有一种方法可以将一个列表分配给会话,然后调用它?
创始人
2024-09-17 16:31:55
0

可以使用如下代码将一个列表分配给 ASP.NET CORE 6 中的会话,并在需要时调用它:

将列表分配给会话:

// 在控制器中获取会话对象
public class MyController : Controller
{
    private readonly ISession _session;

    public MyController(IHttpContextAccessor httpContextAccessor)
    {
        _session = httpContextAccessor.HttpContext.Session;
    }

    // 将列表分配给会话
    public void SetListToSession(List list)
    {
        _session.SetObjectAsJson("MyList", list);
    }
}

从会话中调用列表:

// 在控制器中获取会话对象
public class MyController : Controller
{
    private readonly ISession _session;

    public MyController(IHttpContextAccessor httpContextAccessor)
    {
        _session = httpContextAccessor.HttpContext.Session;
    }

    // 从会话中调用列表
    public List GetListFromSession()
    {
        var list = _session.GetObjectFromJson>("MyList");
        return list ?? new List();
    }
}

上述代码中的“SetObjectAsJson”和“GetObjectFromJson”方法是使用 Newtonsoft.Json 库实现的扩展方法。如果需要使用官方提供的 System.Text.Json 库,可以使用以下代码:

// 在控制器中获取会话对象
public class MyController : Controller
{
    private readonly ISession _session;
    private readonly JsonSerializerOptions _options = new JsonSerializerOptions
    {
        PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
        WriteIndented = true
    };

    public MyController(IHttpContextAccessor httpContextAccessor)
    {
        _session = httpContextAccessor.HttpContext.Session;
    }

    // 将列表分配给会话
    public void SetListToSession(List list)
    {
        var json = JsonSerializer.Serialize(list, _options);
        _session.SetString("MyList", json);
    }

    // 从会话中调用列表
    public List GetListFromSession()
    {
        var json = _session.GetString("MyList");
        return string.IsNullOrEmpty(json)
            ? new List()
            : JsonSerializer.Deserialize>(json, _options);
    }
}

相关内容

热门资讯

避坑细节!pokemmo脚本辅... 避坑细节!pokemmo脚本辅助器下载,智星菠萝有挂吗,果然真的有挂(有挂秘笈)1、每一步都需要思考...
2026版方法!德普之星私人局... 2026版方法!德普之星私人局透视,德扑之心免费透视,切实确实有挂(有挂透视)1、让任何用户在无需德...
一分钟教会你!wepoker正... 一分钟教会你!wepoker正确养号方法,hhpoker是真的假的,竟然是真的有挂(新版有挂)1、下...
2026版方法!wepoker... 2026版方法!wepoker究竟有没有透视,德普辅助软件,都是真的是有挂(有挂规律)1、打开软件启...
教程辅助!wepoker怎么买... 教程辅助!wepoker怎么买辅助,wepokerh5破解,确实有挂(存在有挂)1、起透看视 辅助软...
近日!wepoker分析,智星... 近日!wepoker分析,智星德州有脚本吗,果然确实有挂(真是有挂)亲,关键说明,智星德州有脚本吗透...
分享实测!wepoker辅助器... 分享实测!wepoker辅助器软件下载,wepokerplus外挂,切实是有挂(有挂讲解)1、每一步...
出乎意料的是!hhpoker可... 出乎意料的是!hhpoker可以控制吗,德普之星透视辅助软件下载,确实确实有挂(有挂方式)德普之星透...
记者揭秘!wepoker破解器... 记者揭秘!wepoker破解器激活码,hhpoker真的有透视吗,竟然有挂(有挂功能)1. 选牌创建...
连日来!hhpoker德州有挂... 连日来!hhpoker德州有挂吗,德扑之星透视辅助插件,一直是有挂(发现有挂)在进入德扑之星透视辅助...