2010-02-24 1 views
1

Я сталкиваюсь с этой массивной проблемой, поэтому по разным причинам меняю интерфейс на другое. Этот интерфейс был сериализован как blob в базе данных. Теперь я пытаюсь выполнить миграцию старого blob в новый blob. Но мне удалось сохранить первоначальную контрактную дефиницию бок о бок с моим измененным определением интерфейса. Но все конкретные типы, которые должны были ссылаться на старый интерфейс, теперь ссылаются на новую модифицированную версию интерфейса.Могу ли я десериализовать объект обратно к исходному интерфейсу, даже если все конкретные типы теперь ссылаются на новую версию интерфейса.

В моей базе кода существует только прежний интерфейс. Поэтому, когда я пытаюсь загрузить этот blob обратно из базы данных в старый контракт defintion, я получаю

Ошибка «объект не может быть сохранен в массиве этого типа» при десериализации. Может кто-то, пожалуйста, помогите.? ...

Также мне все еще нужна старая версия конкретных типов, пытаясь де-сериализовать капли обратно в старый интерфейс defintion ?.

любая помощь будет оценена. Как я действительно застрял.

Спасибо, AG

ответ

1

Вы смотрели на класс SurrogateSelector? Это может помочь в борьбе с десериализацией, когда такое изменение класса необходимо.