PulseBus.Extensions 1.0.2

dotnet add package PulseBus.Extensions --version 1.0.2
                    
NuGet\Install-Package PulseBus.Extensions -Version 1.0.2
                    
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="PulseBus.Extensions" Version="1.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PulseBus.Extensions" Version="1.0.2" />
                    
Directory.Packages.props
<PackageReference Include="PulseBus.Extensions" />
                    
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 PulseBus.Extensions --version 1.0.2
                    
#r "nuget: PulseBus.Extensions, 1.0.2"
                    
#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 PulseBus.Extensions@1.0.2
                    
#: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=PulseBus.Extensions&version=1.0.2
                    
Install as a Cake Addin
#tool nuget:?package=PulseBus.Extensions&version=1.0.2
                    
Install as a Cake Tool

⚡ PulseBus.Extensions

PulseBus.Extensions is an extension pack designed to enhance PulseBus with production-ready features.


✨ Features

This library provides a comprehensive set of extensions, including:

Serialization

  • System.Text.Json (Default)
  • Newtonsoft.Json (Optional)
  • Protobuf (Optional)

Middlewares

  • Logging: For comprehensive event logging.
  • Retry: Implements robust retry mechanisms.
  • Metrics (Optional): For performance monitoring.
  • Circuit Breaker (Optional): Enhances fault tolerance.

Retry Policies

  • Exponential Retry: Retries with exponentially increasing delays.
  • Linear Retry: Retries with fixed delays.
  • No Retry: Disables retry attempts.

Idempotency

  • In-memory Idempotency Store: Ensures message processing occurs only once.

📦 Installation

To integrate PulseBus.Extensions into your project, use the following .NET CLI command:

dotnet add package PulseBus.Extensions

🚀 Usage

Adding PulseBus with Default Extensions

You can easily configure PulseBus with a standard set of extensions:

services.AddPulseBus(builder =>
{
    builder.UseRabbitMq(options =>
    {
        options.Host = "localhost";
        options.Username = "guest";
        options.Password = "guest";
    });

    builder.AddDefaultExtensions();
});

Manual Configuration

For more granular control, you can manually configure individual extensions:

builder.UseJsonSerializer();
builder.UseExponentialRetry(5);
builder.UseRetryMiddleware();
builder.UseInMemoryIdempotency();
builder.UseLogging();

🧱 Architecture

PulseBus.Extensions is modularly designed, with features organized into distinct directories:

  • Serialization/
  • Middlewares/
  • RetryPolicies/
  • Idempotency/
  • Extensions/

Each module is optional and can be enabled independently, allowing you to include only the functionalities your application requires.


💖 Support

This project is developed and maintained by Andrés Mariño. If you find this library useful, consider supporting its continued development:

  • Bitcoin (BTC): bc1p9zqgxghkjhauruhsza9n382e6kp5tpj4xtzu2csv4mypsdtdc4tqvdyg86
  • Ko-fi: Support Me

📝 License

This project is licensed under the MIT License.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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 (1)

Showing the top 1 NuGet packages that depend on PulseBus.Extensions:

Package Downloads
PulseBus.RabbitMQ

RabbitMQ provider for PulseBus, the minimalistic and extensible messaging abstraction for .NET.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.2 115 5/21/2026
1.0.0 94 5/19/2026