ASP.NET 5 (ядро): Как хранить объекты в сеансовом кэше (ISession)?
Я пишу ASP.NET 5 MVC 6 (Core) приложение. Теперь я подошел к точке, где мне нужно сохранить (установить и получить) объект в сеансовом кэше (ISession).
Как вы, возможно, знаете, Set-метод ISession принимает byte-array, а Get-метод возвращает единицу.
В непрофильном приложении я бы использовал BinaryFormatter для преобразования моего объекта. Но как это сделать в основном приложении?
1 ответ:
Я бы пошел с сериализацией объектов в JSON и использовал методы расширений на
ISession, чтобы сохранить их какstring' s.// Save var key = "my-key"; var str = JsonConvert.SerializeObject(obj); context.Session.SetString(key, str); // Retrieve var str = context.Session.GetString(key); var obj = JsonConvert.DeserializeObject<MyType>(str);Методы расширения на
ISessionопределены в пространстве именMicrosoft.AspNet(Core).Http.