Kck.EventBus.Abstractions 3.5.0

dotnet add package Kck.EventBus.Abstractions --version 3.5.0
                    
NuGet\Install-Package Kck.EventBus.Abstractions -Version 3.5.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Kck.EventBus.Abstractions" Version="3.5.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Kck.EventBus.Abstractions" Version="3.5.0" />
                    
Directory.Packages.props
<PackageReference Include="Kck.EventBus.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Kck.EventBus.Abstractions --version 3.5.0
                    
#r "nuget: Kck.EventBus.Abstractions, 3.5.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Kck.EventBus.Abstractions@3.5.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Kck.EventBus.Abstractions&version=3.5.0
                    
Install as a Cake Addin
#tool nuget:?package=Kck.EventBus.Abstractions&version=3.5.0
                    
Install as a Cake Tool

Kck.EventBus.Abstractions

Event-driven messaging abstractions with pub/sub pattern — IEventBus, IEventHandler<TEvent>, and IntegrationEvent base record for InMemory, RabbitMQ, or Azure Service Bus providers.

Installation

dotnet add package Kck.EventBus.Abstractions

Quick Start

// 1. Define an integration event
public record OrderPlacedEvent(Guid OrderId, string CustomerEmail) : IntegrationEvent;

// 2. Implement a handler
public class SendOrderConfirmationHandler(IEmailService email)
    : IEventHandler<OrderPlacedEvent>
{
    public async Task HandleAsync(OrderPlacedEvent @event, CancellationToken ct)
        => await email.SendAsync(new EmailMessage
        {
            To = @event.CustomerEmail,
            Subject = "Order confirmed",
            Body = $"Your order {@event.OrderId} has been placed."
        }, ct);
}

// Program.cs — register provider + subscribe handlers
builder.Services.AddKckInMemoryEventBus(bus =>
{
    bus.Subscribe<OrderPlacedEvent, SendOrderConfirmationHandler>();
});

// Publish from a handler/service
public class PlaceOrderHandler(IEventBus eventBus)
{
    public async Task HandleAsync(PlaceOrderCommand cmd, CancellationToken ct)
    {
        // ... save order ...
        await eventBus.PublishAsync(new OrderPlacedEvent(order.Id, cmd.CustomerEmail), ct);
    }
}

Configuration

Property Description Default
EventBus:Provider InMemory, RabbitMq, AzureServiceBus InMemory
EventBus:RetryCount Publish retry attempts on transient errors 3

Resources

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on Kck.EventBus.Abstractions:

Package Downloads
Kck.EventBus.InMemory

In-process IEventBus implementation for development and testing. Dispatches integration events synchronously within the same process. Not suitable for distributed scenarios. Registered via builder.UseInMemory().

Kck.EventBus.RabbitMq

RabbitMQ-backed IEventBus using AMQP topic exchanges. Supports durable exchanges, per-event queues, configurable retry with exponential backoff, and consumer health checks. Registered via builder.UseRabbitMq().

Kck.Bundle.WebApi

Opinionated ASP.NET Core WebAPI starter pack. Registers Serilog, in-memory caching, JWT auth, Argon2 hashing, InMemory event bus, OpenTelemetry, rate limiting, security headers, CORS, and global exception handling in a single AddKckWebApiDefaults() call.

Kck.EventBus.AzureServiceBus

Azure Service Bus-backed IEventBus for reliable cloud messaging. Supports topic/subscription model with configurable MaxConcurrentCalls, auto lock renewal, and retry policy. Registered via builder.UseAzureServiceBus().

Kck.Bundle.WorkerService

Opinionated .NET Worker Service starter pack. Registers Serilog, OpenTelemetry, InMemory event bus, and a mutually-exclusive background job scheduler (Hangfire or Quartz) in a single call.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.5.0 127 10/15/2026