NimbusAPI

Transport-Agnostic .NET Messaging Framework

Write messaging code once, run it on Azure Service Bus, Redis, AMQP, SQL Server, PostgreSQL, or any other transport. Nimbus provides a clean abstraction over messaging infrastructure.

Quick Start

Configure and send your first message
// Define a command
public class PlaceOrderCommand : IBusCommand
{
    public string OrderId { get; set; }
    public decimal Amount { get; set; }
}

// Create a handler
public class PlaceOrderHandler : IHandleCommand<PlaceOrderCommand>
{
    public async Task Handle(PlaceOrderCommand command)
    {
        // Process the order
        Console.WriteLine($"Processing order {command.OrderId}");
    }
}

// Configure the bus
var bus = new BusBuilder()
    .Configure()
    .WithTransport(new RedisTransportConfiguration()
        .WithConnectionString("localhost:6379"))
    .WithNames("MyApp", Environment.MachineName)
    .WithTypesFrom(typeProvider)
    .WithAutofacDefaults(componentContext)
    .Build();

// Send a command
await bus.Send(new PlaceOrderCommand
{
    OrderId = "12345",
    Amount = 99.99m
});

Features

Everything you need to build reliable, scalable messaging applications

Transport Abstraction

Write once, run anywhere. Switch between Azure Service Bus, Redis, AMQP, or InProcess without changing your application code.

Message Patterns

Built-in support for Commands, Events (competing & multicast), Requests, and Multicast Requests.

DI Integration

Seamless integration with Autofac and other dependency injection containers. Handlers are resolved per-message.

Routing & Dispatching

Flexible routing strategies and automatic message dispatching to the correct handlers.

Interceptors

Add cross-cutting concerns — logging, metrics, validation — using inbound and outbound interceptors.

Serialization

DataContract or JSON serialization out of the box, with a simple interface for custom serializers.

Ready to get started?

Install Nimbus from NuGet and start building transport-agnostic messaging applications today.

Read the Documentation →