RCommon.MassTransit
2.4.1
See the version list below for details.
dotnet add package RCommon.MassTransit --version 2.4.1
NuGet\Install-Package RCommon.MassTransit -Version 2.4.1
<PackageReference Include="RCommon.MassTransit" Version="2.4.1" />
<PackageVersion Include="RCommon.MassTransit" Version="2.4.1" />
<PackageReference Include="RCommon.MassTransit" />
paket add RCommon.MassTransit --version 2.4.1
#r "nuget: RCommon.MassTransit, 2.4.1"
#:package RCommon.MassTransit@2.4.1
#addin nuget:?package=RCommon.MassTransit&version=2.4.1
#tool nuget:?package=RCommon.MassTransit&version=2.4.1
RCommon.MassTransit
Integrates MassTransit distributed messaging with RCommon's event handling system, allowing you to produce and consume events through MassTransit while programming against RCommon's IEventProducer and ISubscriber<T> abstractions.
Features
- Publish events to all subscribed consumers using MassTransit's fan-out (publish) semantics
- Send events to a single consumer endpoint using MassTransit's point-to-point (send) semantics
- Bridge MassTransit consumers to RCommon's
ISubscriber<T>abstraction for handler portability - Event subscription routing ensures events are delivered only to their configured producers
- Full access to MassTransit's
IBusRegistrationConfiguratorfor transport and consumer configuration - Automatic hosted service, health check, and instrumentation registration
Installation
dotnet add package RCommon.MassTransit
Usage
using RCommon;
using RCommon.MassTransit;
builder.Services.AddRCommon()
.WithEventHandling<MassTransitEventHandlingBuilder>(eventHandling =>
{
// Register subscribers that bridge MassTransit to RCommon
eventHandling.AddSubscriber<OrderCreatedEvent, OrderCreatedEventHandler>();
// Configure MassTransit transports (full IBusRegistrationConfigurator access)
eventHandling.UsingRabbitMq((context, cfg) =>
{
cfg.Host("localhost", "/", h =>
{
h.Username("guest");
h.Password("guest");
});
cfg.ConfigureEndpoints(context);
});
});
Produce events from application code:
public class OrderService
{
private readonly IEventProducer _eventProducer;
public OrderService(IEventProducer eventProducer)
{
_eventProducer = eventProducer;
}
public async Task CreateOrderAsync(Order order)
{
// This publishes via MassTransit to all subscribed consumers
await _eventProducer.ProduceEventAsync(new OrderCreatedEvent(order));
}
}
Key Types
| Type | Description |
|---|---|
PublishWithMassTransitEventProducer |
IEventProducer that publishes events to all consumers via IBus.Publish (fan-out) |
SendWithMassTransitEventProducer |
IEventProducer that sends events to a single endpoint via IBus.Send (point-to-point) |
MassTransitEventHandler<TEvent> |
MassTransit IConsumer<T> that delegates to an RCommon ISubscriber<T> |
IMassTransitEventHandlingBuilder |
Builder combining IEventHandlingBuilder with MassTransit's IBusRegistrationConfigurator |
MassTransitEventHandlingBuilder |
Default builder implementation for configuring MassTransit event handling |
Documentation
For full documentation, visit rcommon.com.
Related Packages
- RCommon.Core - Core abstractions including
IEventProducerandISubscriber<T> - RCommon.MediatR - MediatR integration for in-process event handling and mediator pattern
- RCommon.Wolverine - Wolverine integration for distributed messaging
License
Licensed under the Apache License, Version 2.0.
| Product | Versions 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 is compatible. 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 is compatible. 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. |
-
net10.0
- MassTransit (>= 9.0.0)
- RCommon.Core (>= 2.4.1)
-
net8.0
- MassTransit (>= 9.0.0)
- RCommon.Core (>= 2.4.1)
-
net9.0
- MassTransit (>= 9.0.0)
- RCommon.Core (>= 2.4.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on RCommon.MassTransit:
| Package | Downloads |
|---|---|
|
RCommon.MassTransit.Outbox
A cohesive set of infrastructure libraries for dotnet that utilizes abstractions for event handling, persistence, unit of work, mediator, distributed messaging, event bus, CQRS, email, and more |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.4.2-alpha.0.9 | 28 | 3/26/2026 |
| 2.4.2-alpha.0.8 | 30 | 3/26/2026 |
| 2.4.2-alpha.0.7 | 30 | 3/26/2026 |
| 2.4.2-alpha.0.6 | 27 | 3/25/2026 |
| 2.4.2-alpha.0.5 | 35 | 3/24/2026 |
| 2.4.2-alpha.0.1 | 28 | 3/24/2026 |
| 2.4.1 | 99 | 2/18/2026 |
| 2.3.2-alpha.0.3 | 53 | 2/18/2026 |
| 2.3.2-alpha.0.2 | 53 | 2/18/2026 |
| 2.3.2-alpha.0.1 | 51 | 2/9/2026 |
| 2.3.1 | 158 | 2/5/2026 |
| 2.3.0 | 95 | 2/3/2026 |
| 2.2.2-alpha.0.1 | 395 | 12/11/2025 |
| 2.2.1-alpha.0.2 | 132 | 10/24/2025 |
| 2.2.1-alpha.0.1 | 141 | 10/24/2025 |
| 2.1.11-alpha.0.2 | 137 | 10/24/2025 |
| 2.1.11-alpha.0.1 | 98 | 7/18/2025 |
| 2.1.10 | 299 | 7/17/2025 |
| 2.1.9-alpha.0.1 | 143 | 7/17/2025 |
| 0.0.0-alpha.0 | 151 | 7/17/2025 |