RCommon.Wolverine
2.4.1
See the version list below for details.
dotnet add package RCommon.Wolverine --version 2.4.1
NuGet\Install-Package RCommon.Wolverine -Version 2.4.1
<PackageReference Include="RCommon.Wolverine" Version="2.4.1" />
<PackageVersion Include="RCommon.Wolverine" Version="2.4.1" />
<PackageReference Include="RCommon.Wolverine" />
paket add RCommon.Wolverine --version 2.4.1
#r "nuget: RCommon.Wolverine, 2.4.1"
#:package RCommon.Wolverine@2.4.1
#addin nuget:?package=RCommon.Wolverine&version=2.4.1
#tool nuget:?package=RCommon.Wolverine&version=2.4.1
RCommon.Wolverine
Integrates Wolverine messaging with RCommon's event handling system, allowing you to produce and consume events through Wolverine's IMessageBus while programming against RCommon's IEventProducer and ISubscriber<T> abstractions.
Features
- Publish events to all subscribed handlers using Wolverine's fan-out (publish) semantics
- Send events to a single handler endpoint using Wolverine's point-to-point (send) semantics
- Bridge Wolverine message handlers to RCommon's
ISubscriber<T>abstraction for handler portability - Event subscription routing ensures events are delivered only to their configured producers
- Factory delegate support for subscriber registration
Installation
dotnet add package RCommon.Wolverine
Usage
using RCommon;
using RCommon.Wolverine;
builder.Services.AddRCommon()
.WithEventHandling<WolverineEventHandlingBuilder>(eventHandling =>
{
// Register subscribers that bridge Wolverine to RCommon
eventHandling.AddSubscriber<OrderCreatedEvent, OrderCreatedEventHandler>();
// Or register with a factory delegate
eventHandling.AddSubscriber<OrderShippedEvent, OrderShippedEventHandler>(
sp => new OrderShippedEventHandler(sp.GetRequiredService<ILogger<OrderShippedEventHandler>>()));
});
// Configure Wolverine transports separately via the host builder
builder.Host.UseWolverine(opts =>
{
opts.ListenToRabbitQueue("orders");
opts.PublishMessage<OrderCreatedEvent>().ToRabbitExchange("orders");
});
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 Wolverine's IMessageBus to all subscribed handlers
await _eventProducer.ProduceEventAsync(new OrderCreatedEvent(order));
}
}
Key Types
| Type | Description |
|---|---|
PublishWithWolverineEventProducer |
IEventProducer that publishes events to all handlers via IMessageBus.PublishAsync (fan-out) |
SendWithWolverineEventProducer |
IEventProducer that sends events to a single endpoint via IMessageBus.SendAsync (point-to-point) |
WolverineEventHandler<TEvent> |
Wolverine IWolverineHandler that delegates to an RCommon ISubscriber<T> |
IWolverineEventHandlingBuilder |
Builder interface for configuring Wolverine event handling within RCommon |
WolverineEventHandlingBuilder |
Default builder implementation for configuring Wolverine event handling |
Documentation
For full documentation, visit rcommon.com.
Related Packages
- RCommon.Core - Core abstractions including
IEventProducerandISubscriber<T> - RCommon.MassTransit - MassTransit integration for distributed messaging
- RCommon.MediatR - MediatR integration for in-process event handling and mediator pattern
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
- RCommon.Core (>= 2.4.1)
- WolverineFx (>= 5.13.0)
-
net8.0
- RCommon.Core (>= 2.4.1)
- WolverineFx (>= 5.13.0)
-
net9.0
- RCommon.Core (>= 2.4.1)
- WolverineFx (>= 5.13.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on RCommon.Wolverine:
| Package | Downloads |
|---|---|
|
RCommon.Wolverine.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.5 | 0 | 3/24/2026 |
| 2.4.2-alpha.0.1 | 0 | 3/24/2026 |
| 2.4.1 | 89 | 2/18/2026 |
| 2.3.2-alpha.0.3 | 46 | 2/18/2026 |
| 2.3.2-alpha.0.2 | 46 | 2/18/2026 |
| 2.3.2-alpha.0.1 | 55 | 2/9/2026 |
| 2.3.1 | 94 | 2/5/2026 |
| 2.3.0 | 94 | 2/3/2026 |
| 2.2.2-alpha.0.1 | 393 | 12/11/2025 |
| 2.2.1-alpha.0.2 | 144 | 10/24/2025 |
| 2.2.1-alpha.0.1 | 140 | 10/24/2025 |
| 2.1.11-alpha.0.2 | 139 | 10/24/2025 |
| 2.1.11-alpha.0.1 | 95 | 7/18/2025 |
| 2.1.10 | 227 | 7/17/2025 |
| 2.1.9-alpha.0.1 | 154 | 7/17/2025 |
| 2.1.2.4 | 229 | 5/21/2025 |
| 2.1.2.3 | 207 | 5/1/2025 |
| 2.1.2.2 | 166 | 1/23/2025 |
| 2.1.2.1 | 160 | 1/17/2025 |
| 0.0.0-alpha.0 | 146 | 7/17/2025 |