我有一个看起来像这样的对象:
public class MySession{
string UserID {get;set;}
List<Object1> ListOfObject1 {get;set;}
List<Object2> ListOfObject2 {get;set;}
....
several other lists....
}
这样做的好处是,我可以编写“页面加载”
MySession TheSession = Session["TheSession"] as MySession;
之类的内容,然后在代码中更轻松地访问会话的属性。目前,它可以与InProc会话一起使用,但是我希望转向SQL Server会话。
进行此更改的最佳方法是什么?我正在考虑将MySession对象序列化为json字符串,然后让SQL Server会话将会话另存为字符串。然后,当我重新加载会话时,只需加载json字符串并反序列化即可。
我不知道这是否是最有效的方法。
感谢您的建议。
最佳答案
您所需要做的就是制作MySession
和所有相关类[Serializable]
(二进制序列化)。
ASP.Net将自动为您序列化它。