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

相关内容

热门资讯

透视存在(wepoke辅助有挂... 透视存在(wepoke辅助有挂)微扑克网页版辅助(详细辅助必胜教程)最初有挂;人气非常高,ai更新快...
wepoke辅助技巧!wepo... 此外,数据分析德州(wepoke辅助技巧)辅助神器app还具备辅助透视行为开挂功能,通过对客户wep...
透视游戏(德州免费辅助神器ap... 透视游戏(德州免费辅助神器app)轰趴十三水有后台吗(详细辅助规律教程)好像有挂;人气非常高,ai更...
wepoke有辅助挂!德扑之星... wepoke有辅助挂!德扑之星开桌怎么设置,(aapokeR)固有是真的有挂(详细透视wpk教程);...
透视私人局(wepoke ai... 透视私人局(wepoke ai辅助)德州之星app辅助器(详细辅助玩家教程)果然是真的有挂wepok...
wpk辅助挂!微扑克微乐辅助,... wpk辅助挂!微扑克微乐辅助,(AAPoker)原本是有挂(详细透视详细教程);建议优先通过wpk辅...
透视挂透视(智星德州菠萝)德州... 透视挂透视(智星德州菠萝)德州ai能盈利吗(详细辅助线上教程)总是有挂;人气非常高,ai更新快且高清...
aapoker猫腻!微扑克真的... aapoker猫腻!微扑克真的有外挂嘛,(来玩德州app)最初真的有挂(详细透视透明挂教程);玩家必...
透视神器(德州免费辅助神器ap... 透视神器(德州免费辅助神器app)wepoke智能ai(详细辅助德州论坛)确实真的是有挂;是一款可以...
智星德州菠萝外挂!菠萝德州ap... 智星德州菠萝外挂!菠萝德州app挂哪里买,(WPK)果然有挂(详细辅助可靠技巧)是一款可以让一直输的...