如何创建会话类型列表并为此列表会话添加对象?

时间:2019-07-31 10:02:30

标签: asp.net session asp.net-core

我要创建一个会话,该会话包含对象列表,并在asp.net核心中向该会话列表添加新项目

1 个答案:

答案 0 :(得分:0)

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

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