dotnet-messaging-patterns

Provides .NET messaging patterns for durable event-driven architectures.

71|10|Updated Feb 11, 2026
One-click install
npx skills add https://github.com/wshaddix/dotnet-skills --skill dotnet-messaging-patterns-wshaddix
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-messaging-patterns
Source: https://github.com/wshaddix/dotnet-skills/tree/main/skills/dotnet-messaging-patterns
Command: npx skills add https://github.com/wshaddix/dotnet-skills --skill dotnet-messaging-patterns-wshaddix

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides patterns and code examples for building reliable, scalable, and maintainable event-driven systems in .NET, addressing common challenges in distributed messaging.

Core Features & Use Cases

  • Messaging Fundamentals: Understand message types (Command, Event, Document) and delivery guarantees (at-most-once, at-least-once, exactly-once).
  • Publish/Subscribe & Competing Consumers: Implement distributed message handling using Azure Service Bus, RabbitMQ, and MassTransit.
  • Saga Pattern: Coordinate complex, multi-step business processes using state machines for choreography and orchestration.
  • Dead-Letter Queues & Idempotency: Handle message failures gracefully and ensure safe message processing with deduplication.
  • Use Case: Implement a microservices architecture where an OrderPlaced event triggers subsequent processing by multiple independent services (e.g., inventory, billing, shipping) reliably, even if some services are temporarily unavailable.

Quick Start

Use the dotnet-messaging-patterns skill to implement a publish/subscribe pattern using MassTransit with RabbitMQ.

Frequently Asked Questions about dotnet-messaging-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement durable messaging in .NET event-driven architectures?

Durable messaging in .NET event-driven architectures is implemented using patterns like publish/subscribe, competing consumers, and dead-letter queues. This ensures reliable delivery across distributed systems even when services are temporarily unavailable.

What is the best way to orchestrate multi-step business processes in distributed .NET systems?

Orchestrating multi-step business processes in distributed .NET systems is handled using the Saga pattern with state machines. This coordinates complex workflows for choreography and orchestration across multiple independent services.

How do I handle message failures and deduplication in RabbitMQ or Azure Service Bus?

Message failures and deduplication in RabbitMQ or Azure Service Bus are handled using dead-letter queues and idempotency patterns. Dead-letter queues capture failed deliveries, while idempotency ensures safe message processing through deduplication.

Does MassTransit work with Azure Service Bus and RabbitMQ for publish/subscribe patterns?

MassTransit works with Azure Service Bus and RabbitMQ for implementing publish/subscribe and competing consumers patterns. It provides abstractions for distributed message handling across these messaging platforms in .NET.

What delivery guarantees are available for event-driven .NET microservices?

Delivery guarantees available for event-driven .NET microservices include at-most-once, at-least-once, and exactly-once delivery. These guarantees define how reliably messages are processed when coordinating events like OrderPlaced across independent services.

Why should I use message envelopes in distributed .NET messaging systems?

Message envelopes in distributed .NET messaging systems address cross-cutting concerns for robust communication. They standardize message structure, supporting reliable routing and processing across publish/subscribe and competing consumer architectures.