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);
    }
}

相关内容

热门资讯

开挂辅助神器"wep... wepoker透视app下载开挂教程视频分享装挂详细步骤在当今的网络游戏中,wepoker透视app...
开挂辅助工具"hhp... 开挂辅助工具"hhpoker有没有辅助挂"开挂(透视)辅助下载(有挂解密);无需打开直接搜索加薇13...
开挂辅助平台"har... 【亲,hardrock辅助 这款游戏可以开挂的,确实是有挂的,很多玩家在这款hardrock辅助中打...
开挂辅助神器"拱趴大... 开挂辅助神器"拱趴大菠萝挂"开挂(透视)辅助插件(真的有挂)《详细加薇136704302咨询》游戏特...
开挂辅助神器"wep... 开挂辅助神器"wepoker私人局怎么玩"开挂(透视)辅助脚本(有人有挂);无需打开直接搜索加(薇:...
开挂辅助安装"wep... 开挂辅助安装"wepoker黑侠破解"开挂(透视)辅助工具(有挂猫腻)《详细加薇136704302咨...
开挂辅助平台"wpk... 开挂辅助平台"wpk有辅助吗"开挂(透视)辅助脚本(有挂实锤)>>您好:软件加136704302中薇...
开挂辅助软件"we-... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
开挂辅助软件"智星德... 开挂辅助软件"智星德州插件怎么下载"开挂(透视)辅助软件(讲解有挂);无需打开直接搜索薇:13670...
开挂辅助下载"拱趴游... 开挂辅助下载"拱趴游戏破解器"开挂(透视)辅助平台(有挂分析);无需打开直接搜索加薇13670430...