Сериализация / десериализация сложных объектов MSMQ - PullRequest
0 голосов
/ 05 августа 2011

Я пытаюсь отправить сообщение в MSMQ, используя XmlFormatter для объекта, который содержит свойство типа object. Если свойство объекта остается пустым, сериализация / десериализация работает безупречно. Однако, если я назначаю объект, я получаю исключение при вызове .send. Произошла ошибка при создании документа XML - единственная информация, которую я получаю. Оба класса помечены как сериализуемые. Есть ли что-то еще, что мне нужно сделать?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 12 октября 2012

Даже если ваш сложный класс объявляет свойство как объект типа, когда ему что-то назначается, сериализация видит свойство как объект назначенного типа.

Например, если вы присваиваете свойству объекта aЗначение нового CustomClass (), сериализация будет ожидать объекта (), но найти CustomClass (), поэтому сериализация не удастся.(Тип CustomClasss не ожидался)

Если назначить свойству объекта значение нового объекта (), я подозреваю, что сериализация будет работать.

0 голосов
/ 05 августа 2011

Я подозреваю, что ваши объекты неправильно сериализованы в XML.

как это работает, например, если вы просто присваиваете строковое значение свойству объекта?

Вы можете использовать небольшойконсольное приложение или отладчик, чтобы проверить сериализацию и десериализацию ваших классов в / из xml и проверить поведение XmlFormatter.

...