ASP.NET 5(核心):如何在会话缓存(ISession)中存储对象?
我正在编写一个ASP.NET 5 MVC 6(核心)应用程序。 现在我来到了一个需要在session-cache( ISession
)中存储(设置和获取)对象的点。
您可能知道, ISession
的Set
-method采用byte-array
, Get
-method返回一个。
在非核心应用程序中,我会使用BinaryFormatter
来转换我的对象。 但是我怎么能在核心应用程序中做到这一点?
我将对象序列化为JSON并使用ISession
上的扩展方法将它们保存为string
。
// 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(str);
ISession
上的扩展方法在Microsoft.AspNet(Core).Http
命名空间中定义。