我遇到了这个大问题,我必须出于各种原因将接口定义更改为不同的东西。该接口被序列化为数据库中的blob。现在我正在尝试将旧blob迁移到新blob中。但我已设法将原始合同定义与我修改后的接口定义保持一致。但是引用旧接口的所有具体类型现在都引用了接口的新修改版本。
我的代码库中只存在旧的接口定义。所以,当我试图将这个blob从数据库加载到旧的合同定义时,我得到了
反序列化时,“对象不能存储在此类型的数组中”错误。有人可以帮忙。?...
在尝试将blob反序列化为旧接口定义时,我还需要旧版本的具体类型吗?
任何帮助将不胜感激。因为我真的被卡住了。
谢谢, AG
答案 0 :(得分:1)
您是否看过SurrogateSelector类?当需要改变类时,它可以帮助控制反序列化。