Re [ProtoBehavior]
, у Silverlight просто нет точек расширения, которые мы можем использовать, чтобы без вывода сообщений внедрить альтернативный сериализатор в WCF, что является проблемой.Единственные способы сделать это в настоящее время с серебряным светом - это перекинуть через провод либо byte[]
, либо Stream
и обработать сериализацию / десериализацию на двух концах.
ReOrder=...
, стоило бы проверить содержимое;если они приходят с разными номерами, есть способы исправить это с помощью partial class
- уродливого хака, но в IIRC есть ProtoPartialMember
(или аналогичный), который можно применить к классу ,но который говорит об отдельном члене (свойство / поле).Вы можете исправить номер таким образом.Также на [ProtoContract]
есть Offset
(IIRC, извините - код отсутствует), который может также помочь, если у вас большое количество полей.
В v2 (не выпущено)) вы можете гораздо лучше контролировать порядок (/ номера полей) без необходимости связываться с атрибутами.