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
.