Skip to content
This repository has been archived by the owner on Mar 14, 2023. It is now read-only.

Latest commit

 

History

History
108 lines (69 loc) · 4.5 KB

readme.md

File metadata and controls

108 lines (69 loc) · 4.5 KB

NServiceBus.ProtoBufNet

Build status NuGet Status

Add support for NServiceBus message serialization via ProtoBuf

Contents

Already a Patron? skip past this section

Community backed

It is expected that all developers either become a Patron to use NServiceBusExtensions. Go to licensing FAQ

Sponsors

Support this project by becoming a Sponsor. The company avatar will show up here with a website link. The avatar will also be added to all GitHub repositories under the NServiceBusExtensions organization.

Patrons

Thanks to all the backing developers. Support this project by becoming a patron.

NuGet package

https://nuget.org/packages/NServiceBus.ProtoBuf/

Usage

configuration.UseSerialization<ProtoBufSerializer>();

snippet source | anchor

This serializer does not support messages defined as interfaces. If an explicit interface is sent, an exception will be thrown with the following message:

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

Instead, use a public class with the same contract as the interface. The class can optionally implement any required interfaces.

Custom Settings

Customizes the SerializerOptions used for serialization.

var model = RuntimeTypeModel.Create();
model.IncludeDateTimeKind = true;
var serialization = configuration.UseSerialization<ProtoBufSerializer>();
serialization.RuntimeTypeModel(model);

snippet source | anchor

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).

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

snippet source | anchor

Icon

Robot designed by Sotirios Papavasilopoulos from The Noun Project.