Asp.net 如何创建会话类型列表并在此列表会话中添加对象?

Asp.net 如何创建会话类型列表并在此列表会话中添加对象?,asp.net,session,asp.net-core,Asp.net,Session,Asp.net Core,我想创建包含对象列表的会话,并在asp.net core中将新项目添加到此会话列表中?您可以创建扩展方法来获取和设置会话中的值,如下所示: public static class SessionExtensions { public static void Set<T>(this ISession session, string key, T value) {

我想创建包含对象列表的会话,并在asp.net core中将新项目添加到此会话列表中?

您可以创建扩展方法来获取和设置会话中的值,如下所示:

    public static class SessionExtensions
    {
         public static void Set<T>(this ISession session, 
                                   string key, T value)
         {
                session.SetString(key, JsonConvert.SerializeObject(value));
         }

         public static T Get<T>(this ISession session, string key)
         {
              var value = session.GetString(key);

               return value == null ? default(T) : JsonConvert.DeserializeObject<T>(value);
         }
    }
然后你可以这样使用它:

    Session.Set(SessionKey, list);
    var sessionList = Session.Get<List<object>>(SessionKey);