Ручная сериализация - указание версии типа
От: xptr http://leadercom.ru
Дата: 06.12.08 07:23
Оценка:
День дорбрый,

обратил внимание на такую особеность при реализации сериализации (ISerializable) получаем следующие данные:

...
<PeriodType xsi:type="a2:PeriodsTypes" xmlns:a2="http://schemas.microsoft.com/clr/nsassem/LeaderCom.Res1/LeaderCom.Res1%2C%20Version%3D2.5.3262.16864%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D787e17034c0df816">Hour</PeriodType>
<ThreadPriority xsi:type="a3:ThreadPriority" xmlns:a3="http://schemas.microsoft.com/clr/ns/System.Threading">BelowNormal</ThreadPriority>
...

Смысл в чем: в том что для перечисления System.Threading.ThreadPriority
тип указывается только указанием имени типа,
а для своего типа LeaderCom.Res1.PeriodsTypes указывается полное название сборки включая версию, культуру и т.д.

Соответствено при изменении верии сборки LeaderCom.Res1 десериализация уже не проходит, потому что не удается найти сборку указаной версии.

Можно конечно написать свой SerializationBinder, но зачем???

Как сериализовать свои типы без указания версий сборки (наподобе System.Threading.ThreadPriority) ???

Думал дело решается параметрами форматера или атрибутами (сборки, типа) — ничего не нашел.
сериализация
Re: Ручная сериализация - указание версии типа
От: xptr http://leadercom.ru
Дата: 16.12.08 17:50
Оценка:
День добрый.

Простите... еще раз поднимаю тему...
так ничего и не нашел...
Re: Ручная сериализация - указание версии типа
От: samius Япония http://sams-tricks.blogspot.com
Дата: 16.12.08 17:58
Оценка: 2 (1)
Здравствуйте, xptr, Вы писали:

X> День дорбрый,



X>Как сериализовать свои типы без указания версий сборки (наподобе System.Threading.ThreadPriority) ???


X>Думал дело решается параметрами форматера или атрибутами (сборки, типа) — ничего не нашел.


По идее, должно этим (BinaryFormatter.AssemblyFormat) решаться.
Re[2]: Ручная сериализация - указание версии типа
От: xptr http://leadercom.ru
Дата: 16.12.08 18:09
Оценка:
Здравствуйте, samius, Вы писали:

S>Здравствуйте, xptr, Вы писали:


X>> День дорбрый,



X>>Как сериализовать свои типы без указания версий сборки (наподобе System.Threading.ThreadPriority) ???


X>>Думал дело решается параметрами форматера или атрибутами (сборки, типа) — ничего не нашел.


S>По идее, должно этим (BinaryFormatter.AssemblyFormat) решаться.


Спасибо!!! Дело действительно решалось параметрами форматера...
Понедельник — день тяжелый...
Спасибо!!!
Re[3]: Ручная сериализация - указание версии типа
От: samius Япония http://sams-tricks.blogspot.com
Дата: 16.12.08 18:33
Оценка:
Здравствуйте, xptr, Вы писали:

X>Спасибо!!!

Всегда пожалуйста!

X>Понедельник — день тяжелый...

Надо же, у кого-то еще понедельник. У меня среда уж скоро...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.