1
голосов
2ответов
651 просмотров

protobuf-net: неправильная десериализация TimeSpan типа провод

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

35
голосов
2ответов
5399 просмотров

Как protobuf-net обеспечивает достойную производительность?

Я хочу понять, почему решение протокольных буферов для .NET , разработанное Marc Gravell работает так же быстро, как и есть. Я могу понять, как исходное решение Google достигло своей производительности: оно предварительно генерирует оптимизированный код для сериализации объектов;Я написал не...

1
голосов
2ответов
1415 просмотров

Почему мой WCF-сервер возвращает пустые ответы с помощью protobuf-net?

Я обновил существующее приложение WCF, добавив поддержку protobuf-net. В основном, у меня: добавил protobuf-net.dll (.net 3.0) в качестве ссылки в сборку, содержащую все мои объекты данных. На эту сборку ссылаются и мой сервер, и мой клиент заменил [DataMember] на [DataMember (Order = x...

5
голосов
1ответов
2289 просмотров

Error while using ProtoBuf-Net with flags enum

While using ProtoBuf-Net and serializing an enum property, where the enum is set to [FlagsAttribute], I received the following error message when serializing an enum value composed of multiple flags. The error is: The value (MyEnum.MyValue) has no wire-representation for property MyProperty Whe...

1
голосов
1ответов
720 просмотров

Deserialization fail after switching PrefixStyle to Fixed32

I have a test suite for a communication library I'm developing using protobuf-net that is running okay. All tests pass. But if I change the PrefixStyle from Base128 to Fixed32, the deserialization fail. The exception I receive from the TryDeserializeWithLengthPrefix function is: System.Argumen...

0
голосов
1ответов
1011 просмотров

ProtoInclude for fields?

I have a simple object [ProtoContract] public class DataChangedEventArgs<T> : EventArgs { private readonly object key; private readonly T data; private readonly DataChangeType changeType; ///<summary> /// Key to identify the data item ///</summary> ...

1
голосов
1ответов
1318 просмотров

C++ equivalent to SerializeWithLengthPrefix

I built a communication library using Protocol Buffers (protobuf-net) using Sockets (TcpListener and TcpClient) and it is working fine, but now a co-worker needs to write a library to communicate with my software using C++. Turns out that I'm using the Serializer.NonGeneric.SerializeWithLengthPr...

2
голосов
1ответов
903 просмотров

protobuf.net not serializing zero

It looks like there is an encoding problem for 0 as Int64. Other values as Int64 ok. [ProtoMember(3)] private readonly Int64 _intValue is deserialized as Int64.MinValue Any idea? I confirm the bug. This class will not serialize properly if _val == 0 [ProtoContract] class VerySimple { [...

2
голосов
1ответов
1753 просмотров

How to use list/array of some object inheritance with Protobuf/Protobuf-net?

Using Protobuf/Protobuf-net and two classes, one base class and the other derived from the base. How would you serialize/deserialize a list ? For instance: public class SomeBase { ... } public class SomeDerived : SomeBase { ... } And the following field to be serialized: public List...

10
голосов
2ответов
4736 просмотров

Is it possible to use Protobuf-Net with a class without a parameterless constructor?

Using Protobuf-Net, I see that it does not seem possible to deserialize a class without having a parameterless constructor or I may be missing something? I don't want some of the classes with a parameterless constructor. Is there some kind of attributes that I could use or some other technique?

30
голосов
2ответов
17607 просмотров

How do I generate a .proto file from a C# class decorated with attributes?

Trying to get my mind around google protobuf. I found some implementation of protobuf in C# but they seems to lack one feature: the ability to generate .proto files automatically from an existing C# class decorated with attributes. The reason I want to do it this way instead of going from auto-g...

2
голосов
2ответов
2566 просмотров

Protobuf attributes with a hierarchy of generic classes

I have a class hierarchy that looks like this. These classes contain a lot of other details which I have excluded. This is a simplification to focus on the serialization aspect of these classes. [ProtoInclude(1, typeof(Query<bool>))] [ProtoInclude(2, typeof(Query<string>))] [ProtoI...

3
голосов
4ответов
2303 просмотров

C# generic type in a base class

I'm writing a system that has a set of protocol buffers (using protobuf-net), I want to define something like this in an abstract class they all inherit off: public byte[] GetBytes() however, the protocol buffer serealiser requires a type argument, is there some efficient way to get the type o...

3
голосов
2ответов
2945 просмотров

Protocol Buffers with Extensions

I'm perhaps overlooking something, but I'm attempting to wrestle protocol buffers into an easy method for providing extensions later. That seems a bit unclear so I'll jump directly into the problem. I am writing an assembly to support various tasks, one of which includes describing structured d...

3
голосов
1ответов
1257 просмотров

Passing IList<t> vs. IEnumerable<t> with protobuf-net</t></t>

I noticed in the protobuf-net changelog that IList&lt;&gt; was supported but I'm getting the "Cannot create an instance of an interface" exception. If I change to IEnumerable&lt;&gt; then life is good. Does this sound correct? // Client call public override IList&lt;IApplicationWorkflo...

1
голосов
1ответов
855 просмотров

Stubborn object won't serialize with protobuf-net

I'm integrating protobuf-net into our WCF services based solution but have ran into a snag that I can't figure out. The following class will serialize fine, all except for the ObjectId property. /// &lt;summary&gt; /// A service data object that represents a user of the system. /// &lt;/summary...

4
голосов
1ответов
549 просмотров

ProtoInclude adds unwanted dependencies

I just replaced .NET serialization with protocol buffers in a distributed cache application and the results are really impressive. The only thing I do not like is the fact that I need to add dependencies between a base message class and its children which creates a circular dependency. Is there a...

2
голосов
1ответов
2579 просмотров

Protobuf-net How to consume a WCF service in NET CF client?

I'm trying to consume a WCF webservice using the RPC capabilities of the Protobuf-net. Here's my service contract: namespace WcfEchoService { // NOTE: If you change the interface name "IService1" here, you must also update the reference to "IService1" in Web.config. [ServiceContract] ...

9
голосов
6ответов
17732 просмотров

XML и двоичная производительность для сериализации / десериализации

Я работаю над компактным фреймворком, и мне нужно повысить производительность. В настоящее время приложение работает в автономном режиме, сериализуя объекты в XML и сохраняя их в базе данных. Используя инструмент профилирования, я увидел, что это довольно большие накладные расходы, замедляющие р...

18
голосов
1ответов
12105 просмотров

Что означает атрибут ProtoInclude (в protobuf-net)

В реализации ProtoBuf-Net что делает ProtoInclude значение атрибута, и что он делает? Будем признательны за пример. Я видел это в этом сообщении , и я не уверен, что оно делает. Пример был: [Serializable, ProtoContract, ProtoInclude(50, typeof(BeginRequest))] abstract internal cl...

1
голосов
1ответов
1643 просмотров

Обфускация и protobuf.net - Исключение: значение перечисления по умолчанию не определено

При попытке сериализовать класс, содержащий перечисления, в обфусцированном проекте, я получаю следующее исключение: ProtoBuf.ProtoException: значение перечисления X по умолчанию не определено для необязательного свойства Y Если я исключу все затронутые перечисления из обфускации, все ...

6
голосов
2ответов
9483 просмотров

protobuf и List <object> - как сериализовать / десериализовать?</object>

У меня есть List&lt;object&gt; с различными типами объектов, такими как целые числа, строки и пользовательские типы. Все настраиваемые типы настроены на protobuf. Что я хочу сделать сейчас, так это сериализовать / десериализовать этот список с помощью protobuf.net. До сих пор я подозреваю, что м...

1
голосов
1ответов
513 просмотров

Сериализация и десериализация неизвестных унаследованных типов

Я начал искать возможности использования proto-buf .Net для удовлетворения моих потребностей в сериализации для медиа-браузера. В новой системе у нас есть структура сущностей, которую можно расширить с помощью плагинов. Так, например, мы определяем класс Media в основной библиотеке, а зате...

22
голосов
3ответов
20826 просмотров

Десериализовать неизвестный тип с помощью protobuf-net

У меня есть 2 сетевых приложения, которые должны отправлять друг другу сериализованные сообщения protobuf-net. Я могу сериализовать объекты и отправить их, однако я не могу понять, как десериализовать полученные байты . Я попытался десериализовать с этим, но это не удалось с исключением Null...

2
голосов
1ответов
1060 просмотров

Десериализация буфера протокола и динамически загружаемая DLL

Я использую protobuf-net для буферизации протокола. У меня есть DLL, которую я загружаю динамически. Я могу создать экземпляр класса данных, содержащегося в dll, а также использовать и изменять созданный объект данных. Однако когда я пытаюсь сериализовать / десериализовать объект данных, я получ...

4
голосов
4ответов
2269 просмотров

Буферы протокола в C #: как обрабатываются типы значений в штучной упаковке

В следующих примерах: public class RowData { public object[] Values; } public class FieldData { public object Value; } Мне любопытно, как protobuf-net или dotnet-protobufs будут обрабатывать такие классы. Я больше знаком с protobuf-net, поэтому на самом деле у меня есть: [Prot...

16
голосов
6ответов
21908 просмотров

Буферы протокола в проектах C # с использованием protobuf-net - лучшие практики для генерации кода

Я пытаюсь использовать protobuf в проекте C #, используя protobuf-net, и мне интересно, как лучше всего организовать это в структуре проекта Visual Studio. При ручном использовании инструмента protogen для генерации кода на C # жизнь кажется легкой, но это не так. Я бы хотел, чтобы файл .p...