Lista, Obiekt w sesji. Jak zapisać listę do sesji?

0

Witam

Próbuję napisać sklep internetowy i chcę w sesji użytkownika przechowywać listę produktów, które dodał do koszyka.
W poprzednich wersjach .net nie było z tym problemu...
Może ktoś robił coś podobnego?
Korzystam z
Microsoft.Extensions.Caching.Memory: "1.0.0",
Microsoft.AspNetCore.Session: "1.0.0"
.Net Core 2.1
Pozdrawiam!

0
Phoryn napisał(a):

W poprzednich wersjach .net nie było z tym problemu...

A teraz jaki jest?

2
some_ONE napisał(a):
Phoryn napisał(a):

W poprzednich wersjach .net nie było z tym problemu...

A teraz jaki jest?

Rozwiązałem problem. Dokładnie chodziło o to, że metody set i get do sesji pozwalały na zapisanie stringów. Trzeba było to zrobić w ten sposób, że należało dodać klasę rozszerzającą sesję o możliwość dodawania obiektów. Wygląda następująco:

    public static class SessionExtensions
    {
        public static void SetObject(this ISession session, string key, object value)
        {
            session.SetString(key, JsonConvert.SerializeObject(value));
        }

        public static T GetObject<T>(this ISession session, string key)
        {
            var value = session.GetString(key);
            return value == null ? default(T) : JsonConvert.DeserializeObject<T>(value);
        }
    }

I tak jak widać metoda ta konwertuje nasze obiekty na json i w taki sposób podaje to do sesji. Najwidoczniej w starszych wersjach .net były one już zaimplementowane z marszu.
Pozdrawiam!

1 użytkowników online, w tym zalogowanych: 0, gości: 1