【发布时间】:2019-06-23 13:04:26
【问题描述】:
我有一个 Web 表单项目,我正在尝试将其转换为 asp.net 核心。我的问题是,在网络表单中,我将一个对象保存到会话中,当我得到它时,我可以对其进行更改并保留它们。另一方面,在核心中,我通过序列化将对象设置为会话。当我得到它并进行更改时,它不会影响存储在会话中的对象。有没有办法按原样保存对象(不序列化它),所以当我从会话中获取它并对其进行更改时,继续使用它并且不必再次在会话中设置它?
会议是
System.Web.HttpContext.Current.Session["object"]
成功了
AppHttpContext.Current.Session.GetString("object")
然后我将它反序列化为我想要的对象。
Ps:我使用 AppHttpContext 在控制器之外获取会话
【问题讨论】:
-
这是一个 X/Y 问题。你可以让会话工作,但你应该尽量避免这种情况。你剩下的问题不是很清楚,什么是“没有序列化”?
-
某处的静态
MemoryCache怎么样。然后使用键SessionId和值Dictionary<string, object>作为会话条目的存储。
标签: c# session asp.net-core httpcontext