protobuf-net: неверная десериализация проводного типа TimeSpan - PullRequest
1 голос
/ 12 ноября 2009

Я получаю это исключение, когда мое клиентское приложение пытается десериализовать сообщение, поступающее из службы WCF («Неправильная десериализация проводного типа TimeSpan»).

Я использую .NET 3.5 SP1 и последнюю версию protobuf-net (1.0.0.275). Я понятия не имею, из чего может исходить проблема. Я не понимаю причину этого сообщения об ошибке. Кто-нибудь? * * 1003

Ответы [ 2 ]

0 голосов
/ 14 марта 2010

В некоторой степени возникла проблема с отсутствующим типом провода для типов данных byte []. Я исправил проблему, добавив BlobSerializer в ValueMember.cs, функцию GetCoreSerializer. Всегда можете проверить эту функцию, чтобы увидеть, правильно ли подключен сериализатор.

        if (type == typeof(byte[]))
        {
            defaultWireType = WireType.String;
            return new BlobSerializer();
        }

Кстати, очень нравится эффективность сериализатора, то, что было 16 ГБ с BinaryFormatter, теперь занимает всего 400 МБ.

0 голосов
/ 14 ноября 2009

Я бы с радостью помог (я являюсь автором protobuf-net), но это не так уж и много. Можете ли вы привести какой-либо пример для этого? На самом простом уровне мне интересно, полностью ли настроен сервис, особенно если вы используете «mex» или add-service-reference.

...