Protocol Buffers Serializer

Project Hosting | Nuget: NServiceBus.ProtoBuf (Version: 1.x) | License
This is a community run project. License and support are independent of Particular Software.
Target NServiceBus Version: 6.x

Serializes messages using protobuf-net.

Usage

Edit
endpointConfiguration.UseSerialization<ProtoBufSerializer>();

This serializer does not support Messages defined as Interfaces. Instead use a public class with the same contract as the interface. The class can optionally implement any required interfaces.

If an explicit interface is send an exception will be thrown with the following message:

Interface based message are not supported. 
Create a class that implements the desired interface

Custom Settings

Customizes the instance of SerializerOptions used for serialization.

Edit
var runtimeTypeModel = TypeModel.Create();
runtimeTypeModel.IncludeDateTimeKind = true;
var serialization = endpointConfiguration.UseSerialization<ProtoBufSerializer>();
serialization.RuntimeTypeModel(runtimeTypeModel);

Custom Content Key

When using additional deserializers or transitioning between different versions of the same serializer it can be helpful to take explicit control over the content type a serializer passes to NServiceBus (to be used for the ContentType header).

Edit
var serialization = endpointConfiguration.UseSerialization<ProtoBufSerializer>();
serialization.ContentTypeKey("custom-key");

Samples


Last modified