是皇宫sql对象的序列化对话的国家?
-
10-07-2019 - |
题
如果没有进入这是否是一个很好的或坏的想法:
是它能够存储皇宫-对-SQL域中的对象ASP.NET 届会议,在本届会议 进程?
[编辑] 我目前得到的以下错误,并询问这个问题,因为我怀疑皇宫-对-SQL的对象:
无法serialize本届会议的状态。在会话"和"Sql server'模式,ASP.NET 将serialize会议国家的对象,并因此不可串行的对象或MarshalByRef对象是不能容许的。同样的限制也适用,如果类似的化通过的定义会议的国家存在"自定义"模式。[/编辑]
例如
Session["Zoo"] = new Zoo() {
new Lion(),
new Tiger(),
new Elephant()
}
其中:
- 动物园,狮子,老虎,象所有出来的一个ZooDataContext
和网络。配置文件中包含的
<sessionState
mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42424"
stateNetworkTimeout="10"
sqlConnectionString="SqlStateConnectionString"
sqlCommandTimeout="30"
timeout="20"
regenerateExpiredSessionId="true"/>
解决方案
Serialize他们使用datacontractserializer前存在届会或其他任何可能想要serialize... 最近讨论了这里:
http://social.msdn.microsoft.com/Forums/en-US/linqtosql/thread/81c84ff4-059b-474f-9c69-b8c59027fd48
其他提示
使用二元格式(如户使用我相信), 你会需要产生的代码自己的申请(I做,目前有一个Linq2Sql T4模板)。
以下需要作为标记 [NonSerialized]
:
EntityRef
EntitySet
- 所有的事件(你会需要想做到这一点,运动对于读者)
也构造逻辑的需要移动到 OnCreated
.还必须确保 OnCreated
被称为当反序列化这样的对象可以是有用的。这样做的 [OnDeserializing]
属性。
我会认为你需要标记你的对象为在序列化。我不确定如果有办法这样做所产生的对象,但对于那些你把话,您可以创建一个分类(例如狮子),并给予它的序列化的属性。
不隶属于 StackOverflow