Microsoft.Orleans.Serialization.MessagePack
9.2.1
Prefix Reserved
See the version list below for details.
dotnet add package Microsoft.Orleans.Serialization.MessagePack --version 9.2.1
NuGet\Install-Package Microsoft.Orleans.Serialization.MessagePack -Version 9.2.1
<PackageReference Include="Microsoft.Orleans.Serialization.MessagePack" Version="9.2.1" />
<PackageVersion Include="Microsoft.Orleans.Serialization.MessagePack" Version="9.2.1" />
<PackageReference Include="Microsoft.Orleans.Serialization.MessagePack" />
paket add Microsoft.Orleans.Serialization.MessagePack --version 9.2.1
#r "nuget: Microsoft.Orleans.Serialization.MessagePack, 9.2.1"
#:package Microsoft.Orleans.Serialization.MessagePack@9.2.1
#addin nuget:?package=Microsoft.Orleans.Serialization.MessagePack&version=9.2.1
#tool nuget:?package=Microsoft.Orleans.Serialization.MessagePack&version=9.2.1
Microsoft Orleans Serialization for MessagePack
Introduction
Microsoft Orleans Serialization for MessagePack provides MessagePack serialization support for Microsoft Orleans using the MessagePack format. This high-performance binary serialization format is ideal for scenarios requiring efficient serialization and deserialization.
Getting Started
To use this package, install it via NuGet:
dotnet add package Microsoft.Orleans.Serialization.MessagePack
Example - Configuring MessagePack Serialization
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Orleans.Hosting;
using Orleans.Serialization;
var builder = Host.CreateApplicationBuilder(args)
.UseOrleans(siloBuilder =>
{
siloBuilder
.UseLocalhostClustering()
// Configure MessagePack as a serializer
.AddSerializer(serializerBuilder => serializerBuilder.AddMessagePackSerializer());
});
// Run the host
await builder.RunAsync();
Example - Using MessagePack with a Custom Type
using Orleans;
using Orleans.Serialization.Cloning;
using Orleans.Serialization.Codecs;
using Orleans.Serialization.Configuration;
using Orleans.Serialization.Serializers;
using MessagePack;
namespace ExampleGrains;
// Define a class with MessagePack attributes
[MessagePackObject]
public class MyMessagePackClass
{
[Key(0)]
public string Name { get; set; }
[Key(1)]
public int Age { get; set; }
[Key(2)]
public List<string> Tags { get; set; }
}
// You can use it directly in your grain interfaces and implementation
public interface IMyGrain : IGrainWithStringKey
{
Task<MyMessagePackClass> GetData();
Task SetData(MyMessagePackClass data);
}
public class MyGrain : Grain, IMyGrain
{
private MyMessagePackClass _data;
public Task<MyMessagePackClass> GetData()
{
return Task.FromResult(_data);
}
public Task SetData(MyMessagePackClass data)
{
_data = data;
return Task.CompletedTask;
}
}
Documentation
For more comprehensive documentation, please refer to:
Feedback & Contributing
- If you have any issues or would like to provide feedback, please open an issue on GitHub
- Join our community on Discord
- Follow the @msftorleans Twitter account for Orleans announcements
- Contributions are welcome! Please review our contribution guidelines
- This project is licensed under the MIT license
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- MessagePack (>= 2.5.187)
- Microsoft.CodeAnalysis.Analyzers (>= 3.11.0)
- Microsoft.CodeAnalysis.Common (>= 4.5.0)
- Microsoft.CodeAnalysis.Workspaces.Common (>= 4.5.0)
- Microsoft.DotNet.PlatformAbstractions (>= 3.1.6)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.DependencyModel (>= 8.0.2)
- Microsoft.Extensions.ObjectPool (>= 8.0.11)
- Microsoft.Extensions.Options (>= 8.0.2)
- Microsoft.Orleans.Analyzers (>= 9.2.1)
- Microsoft.Orleans.CodeGenerator (>= 9.2.1)
- Microsoft.Orleans.Serialization (>= 9.2.1)
- System.Collections.Immutable (>= 8.0.0)
- System.IO.Hashing (>= 8.0.0)
- System.IO.Pipelines (>= 8.0.0)
- System.Text.Json (>= 8.0.5)
-
net8.0
- MessagePack (>= 2.5.187)
- Microsoft.CodeAnalysis.Analyzers (>= 3.11.0)
- Microsoft.CodeAnalysis.Common (>= 4.5.0)
- Microsoft.CodeAnalysis.Workspaces.Common (>= 4.5.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.DependencyModel (>= 8.0.2)
- Microsoft.Extensions.ObjectPool (>= 8.0.11)
- Microsoft.Extensions.Options (>= 8.0.2)
- Microsoft.Orleans.Analyzers (>= 9.2.1)
- Microsoft.Orleans.CodeGenerator (>= 9.2.1)
- Microsoft.Orleans.Serialization (>= 9.2.1)
- System.Collections.Immutable (>= 8.0.0)
- System.IO.Hashing (>= 8.0.0)
- System.IO.Pipelines (>= 8.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Microsoft.Orleans.Serialization.MessagePack:
| Package | Downloads |
|---|---|
|
Edict.Core
Core engine for the Edict CQRS framework on Microsoft Orleans: command handlers, sagas, event handlers, projection builders, idempotency, and the outbox engine. Includes the Edict source generators and analyzers, so one reference wires up the full consumer surface. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.1.1-preview.1 | 55 | 5/13/2026 |
| 10.1.0 | 1,780 | 4/14/2026 |
| 10.0.1 | 3,063 | 2/7/2026 |
| 10.0.0 | 329 | 1/20/2026 |
| 10.0.0-rc.2 | 134 | 12/31/2025 |
| 9.2.1 | 3,662 | 7/16/2025 |
| 9.2.0 | 208 | 7/14/2025 |
| 9.2.0-preview3 | 330 | 6/10/2025 |
| 9.2.0-preview2 | 196 | 6/4/2025 |
| 9.2.0-preview1 | 150 | 4/4/2025 |
| 9.1.2 | 7,292 | 2/13/2025 |
| 9.0.1 | 3,313 | 11/23/2024 |
| 9.0.0 | 3,219 | 11/14/2024 |
| 8.2.0 | 8,513 | 7/12/2024 |