ModulusKit.Messaging.Abstractions
2.1.0
See the version list below for details.
dotnet add package ModulusKit.Messaging.Abstractions --version 2.1.0
NuGet\Install-Package ModulusKit.Messaging.Abstractions -Version 2.1.0
<PackageReference Include="ModulusKit.Messaging.Abstractions" Version="2.1.0" />
<PackageVersion Include="ModulusKit.Messaging.Abstractions" Version="2.1.0" />
<PackageReference Include="ModulusKit.Messaging.Abstractions" />
paket add ModulusKit.Messaging.Abstractions --version 2.1.0
#r "nuget: ModulusKit.Messaging.Abstractions, 2.1.0"
#:package ModulusKit.Messaging.Abstractions@2.1.0
#addin nuget:?package=ModulusKit.Messaging.Abstractions&version=2.1.0
#tool nuget:?package=ModulusKit.Messaging.Abstractions&version=2.1.0
Modulus.Messaging.Abstractions
Abstractions for the Modulus messaging system — IMessageBus, IIntegrationEvent, and outbox pattern interfaces.
Installation
dotnet add package ModulusKit.Messaging.Abstractions
Key Types
Integration Events
// Define an integration event
public record OrderShipped(Guid OrderId, DateTime ShippedAt)
: IntegrationEvent;
// IntegrationEvent base class auto-generates:
// EventId = Guid.NewGuid()
// OccurredOn = DateTime.UtcNow
// CorrelationId = null (optional, settable via init)
Message Bus
public interface IMessageBus
{
// Publish an event to all subscribers
Task Publish<TEvent>(TEvent @event, CancellationToken ct = default)
where TEvent : IIntegrationEvent;
}
Integration Event Handlers
public class OrderShippedHandler : IIntegrationEventHandler<OrderShipped>
{
public Task Handle(OrderShipped @event, CancellationToken ct)
{
// React to the cross-module event
return Task.CompletedTask;
}
}
Outbox Pattern
The IOutboxStore interface enables the transactional outbox pattern — events are stored alongside your business data in the same transaction, then published reliably by a background processor.
public interface IOutboxStore
{
Task Save(IIntegrationEvent @event, CancellationToken ct = default);
Task<IReadOnlyList<OutboxMessage>> GetPending(int batchSize, CancellationToken ct = default);
Task MarkAsProcessed(IEnumerable<Guid> ids, CancellationToken ct = default);
}
Learn More
See the Modulus repository for full documentation.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ModulusKit.Messaging.Abstractions:
| Package | Downloads |
|---|---|
|
ModulusKit.Messaging
Messaging library for .NET modular monoliths with transactional outbox/inbox, consumer retry, and an in-memory transport. RabbitMQ and Azure Service Bus transports ship as ModulusKit.Messaging.RabbitMq and ModulusKit.Messaging.AzureServiceBus. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.0 | 175 | 7/26/2026 |
| 3.1.0 | 359 | 7/26/2026 |
| 3.0.0 | 283 | 7/26/2026 |
| 2.1.0 | 145 | 7/4/2026 |
| 2.0.0 | 138 | 7/3/2026 |
| 1.2.5 | 137 | 3/15/2026 |
| 1.2.4 | 123 | 3/15/2026 |
| 1.2.3 | 117 | 3/14/2026 |
| 1.2.2 | 119 | 3/14/2026 |
| 1.2.1 | 120 | 3/14/2026 |
| 1.2.0 | 124 | 3/14/2026 |
| 1.1.1 | 131 | 3/8/2026 |
| 1.1.0 | 118 | 3/5/2026 |
| 1.0.1 | 130 | 3/3/2026 |