What problem does it solve?
Provides clear, production-grade guidance for implementing reliable asynchronous messaging in .NET projects, removing ambiguity around transports, transactional delivery, and orchestration. It helps teams avoid data inconsistency from dual-writes, choose appropriate orchestration patterns, and standardize message contracts across services.
Core Features & Use Cases
- Wolverine-first recommendation: opinionated setup for mediator + messaging with built-in outbox and saga support.
- Transactional Outbox: patterns and DbContext integration to ensure messages are published only after successful transactions.
- Orchestration guidance: when to use choreography vs stateful sagas and how to model saga state and compensations.
- Broker and tooling support: RabbitMQ and Azure Service Bus configuration examples and a MassTransit alternative with licensing notes.
- Handlers and publishing patterns: convention-based handlers, cascading returns, explicit IMessageBus publishing, and anti-patterns to avoid.
Quick Start
Add Wolverine with a transactional outbox, configure RabbitMQ or Azure Service Bus, and implement a simple OrderCreated event and a convention-based handler to verify end-to-end delivery.