Messaging
Start with Genocs.Messaging, then add a transport (RabbitMQ, outbox, and so on) and wire dispatch bridges on `IGenocsBuilder`.
Contents On this page
Overview
The messaging stack centers on Genocs.Messaging: contracts for publishing and subscribing to messages, plus helpers that connect CQRS-style dispatching to the bus. A transport package is required at runtime (for example RabbitMQ). Optional patterns such as the outbox use additional packages for durable send/receive.
Typical pieces:
IBusPublisher/IBusSubscriber— send and receive messages through the abstraction.- CQRS bridges — register command/event dispatch so handlers and the bus stay aligned.
- Transport providers — RabbitMQ, outbox storage, saga integrations, and so on (see versioned package docs).
Installation
Add the core messaging package:
dotnet add package Genocs.Messaging
Then add at least one transport or integration package (for example RabbitMQ or outbox) from the v9.0 package list.
Dependencies
- Genocs.Core — host and builder integration.
- A concrete transport (for example
Genocs.Messaging.RabbitMQ) for real broker connectivity.
Usage
Use IGenocsBuilder extensions from your packages (for example AddServiceBusCommandDispatcher() / AddServiceBusEventDispatcher()) and register the transport-specific services. Configuration lives with the transport (rabbitmq, outbox, and so on—not on Genocs.Messaging alone).
Reference documentation
For exact APIs, configuration tables, and troubleshooting, use the v9.0 package guides:
| Topic | Package |
|---|---|
| Core abstractions and CQRS bridges | Genocs.Messaging |
| RabbitMQ | Genocs.Messaging.RabbitMQ |
| Outbox | Genocs.Messaging.Outbox |
| Outbox + MongoDB | Genocs.Messaging.Outbox.MongoDB |
| Sagas | Genocs.Saga and related integration packages |
Related: CQRS · All documentation versions