Messaging

Start with Genocs.Messaging, then add a transport (RabbitMQ, outbox, and so on) and wire dispatch bridges on `IGenocsBuilder`.

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:

TopicPackage
Core abstractions and CQRS bridgesGenocs.Messaging
RabbitMQGenocs.Messaging.RabbitMQ
OutboxGenocs.Messaging.Outbox
Outbox + MongoDBGenocs.Messaging.Outbox.MongoDB
SagasGenocs.Saga and related integration packages

Related: CQRS · All documentation versions