windows-8 – 在SuspensionManager.SessionState中存储字符串以
发布时间:2020-12-14 02:04:36 所属栏目:Windows 来源:网络整理
导读:示例应用程序包括一个Suspension Manager类,它将会话状态存储在Dictionary中,但从不尝试存储除字符串之外的任何内容. 每当我存储除字符串之外的任何其他内容,然后触发序列化,我得到以下错误 键入’System.RuntimeType’,数据协定名称为’RuntimeType:http:
示例应用程序包括一个Suspension Manager类,它将会话状态存储在Dictionary中,但从不尝试存储除字符串之外的任何内容.
每当我存储除字符串之外的任何其他内容,然后触发序列化,我得到以下错误 键入’System.RuntimeType’,数据协定名称为’RuntimeType:http://schemas.datacontract.org/2004/07/System’,不是预期的.考虑使用DataContractResolver或将任何静态未知的类型添加到已知类型列表中 – 例如,通过使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中. 我是否必须做其他事情才能在SessionState中存储其他类型? 解决方法
你需要做两件事:
首先,确保您的类型(de)序列化使用System.Runtime.Serialization中的DataContract属性进行修饰,并确保其成员已正确修饰.例如在c#中: [DataContract] public struct Product { [DataMember] public Guid Id { get; set; } [DataMember] public DateTime ManufactureDate { get; set; } [DataMember] public decimal Cost { get; set; } } 其次,在尝试(反)序列化之前,您需要调用SessionManager的AddKnownType< T>()(T是您需要的类型). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 从Powershell脚本中引用的DLL对App.Config连接字符串进行亚
- 如何从telnet启动Windows GUI应用程序
- 有没有办法监视哪个进程在Windows中发送UDP数据包(源/目标I
- windows – 如何使用FILE_SHARE_READ使CreateFile失败并使用
- pycharm使用anaconda报错: ImportError: DLL load failed
- 编译Windows Embedded Compact 7的升级库
- windows-server-2008 – 重启域控制器的步骤?
- windows-server-2012 – IIS 8在浏览器中显示经典ASP错误
- 在win7上运行ruby文件中的自动完成时gVim崩溃
- windows – 与findstr.exe进行逻辑OR比较