DMediatR 0.0.1-alpha-5

This is a prerelease version of DMediatR.
dotnet add package DMediatR --version 0.0.1-alpha-5                
NuGet\Install-Package DMediatR -Version 0.0.1-alpha-5                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DMediatR" Version="0.0.1-alpha-5" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DMediatR --version 0.0.1-alpha-5                
#r "nuget: DMediatR, 0.0.1-alpha-5"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DMediatR as a Cake Addin
#addin nuget:?package=DMediatR&version=0.0.1-alpha-5&prerelease

// Install DMediatR as a Cake Tool
#tool nuget:?package=DMediatR&version=0.0.1-alpha-5&prerelease                

DMediatR

Distributed MediatR over gRPC with auto-renewing X509 client certificate TLS.

Distribute an existing MediatR monolith across microservice nodes by inserting a D in its services.AddMediatR() call and, after deployment, configure in each appsettings.json whether messages will be handled locally or are delegated to a specified node. If nothing is configured, the monolith works as before.

For transmission over gRPC, MediatR messages are transparently binary serialized using MessagePack. The serialization can be customized for specific object types or interfaces.

Validation of the generated X509 certificate chain ignores hostnames, it only validates that the client and server certificates match. It is therefore sufficient for the destination nodes to be reachable by DNS name or IP address, just as for SSH, which is required to deploy the initial certificate chain.

DMediatR nodes can also be deployed on Linux ARM IoT devices such as a Raspberry PI 3+. This allows them to interoperate seamlessly with Windows .NET via DMediatR.

Documentation (C# API)

NuGet Packages: DMediatR Template

Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.0.1-alpha-5 0 2/7/2025
0.0.1-alpha-4 34 1/13/2025
0.0.1-alpha-3 53 12/17/2024
0.0.1-alpha-2 77 12/12/2024
0.0.1-alpha 49 12/1/2024

* Linux compatibility (e.g. RuntimeIdentifier linux-arm64)

* Iot sample node that responds to DMediatR requests with its CPU temperature when deployed on a Raspberry Pi

* PerformanceMeter NUnit tests to measure gRPC throughput

* Grpc:MaxMessageSize option to increase the defaults

* Grpc:ResponseCompressionAlgorithm/ResponseCompressionLevel/MessagePackCompression options to enable gzip or lz4

* The inexplicably required development certificates are not handled by DMediatR