我们正在尝试决定如何处理回发中的对象持久性,以避免在每个请求中从数据库中获取数据,并且我倾向于使用Session(它是一个Intranet应用程序,不会有成千上万的用户),但是这是因为我怀疑只有对真实物体的引用存储在那里......
有没有人知道这是真的吗?
我一直被教导不要过度使用会话对象,但如果它以这种方式工作,它就不会是一个大问题......
这里真正存储在会话中的是什么:
Session["myKey"] = myObject;
实际的序列化对象,还是它的引用?
我试过这个:
我创建了一个类并在会话中存储了这个实例(会话状态模式:InProc).实例存在于aspnet_wp.exe proc中.
然后,我将会话状态更改为SQL Server(仍然没有[Serializable]属性),我得到以下错误.
无法序列化会话状态.在"StateServer"和"SQLServer"模式下,ASP.NET将序列化会话状态对象,因此不允许使用不可序列化的对象或MarshalByRef对象.
因此,inProc会话状态没有序列化.
干杯......马丁