当我将 dataview 存储在 viewstate 中时,.net 显示错误“Dataview 在 system.data 中未标记为可序列化,但当我将其存储在会话中时,它可以正常工作吗?
背后的原因是什么??还有哪些其他对象没有标记为
“可序列化”?
这意味着您要存储的对象(DataView http://msdn.microsoft.com/en-us/library/system.data.dataview.aspx) 没有标记为可序列化属性 http://msdn.microsoft.com/en-us/library/system.serializableattribute%28v=vs.71%29.aspx.
现在,您在 ViewState 而不是 Session 中收到此错误的原因是因为 ViewState 是always已序列化,但 Session 不一定如此。进程中 http://msdn.microsoft.com/en-us/library/ms178586.aspx会话存储在服务器内存中,不需要序列化。SQL服务器 http://msdn.microsoft.com/en-us/library/ms178586.aspx会话必须序列化才能存储在数据库中。
因此,任何时候你想在 ViewState 中存储一个对象(或连载的会话),它必须标有可序列化属性 http://msdn.microsoft.com/en-us/library/system.serializableattribute%28v=vs.71%29.aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)