Quorix.Pipeline 1.0.0

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

Quorix.Pipeline

Quorix.Pipeline is a modular and extensible middleware layer designed to work seamlessly with Quorix.
It provides out-of-the-box pipeline behaviors such as logging, retry, circuit breaker, rate limiting, validation, caching, and more โ€” all designed for commercial-grade .NET systems.


๐ŸŽฏ Why Quorix.Pipeline?

While many CQRS/Mediator libraries offer basic pipelines, most fall short when applied to enterprise-level architectures.
Quorix.Pipeline gives you:

  • ๐Ÿ”Œ Plug-and-play behaviors
  • โš™๏ธ Full extensibility using IPipelineBehavior<TRequest, TResponse>
  • ๐Ÿš€ Zero external dependencies beyond Polly, FluentValidation, and Microsoft abstractions
  • ๐Ÿ” Safe for use in commercial and sensitive production environments
  • ๐Ÿงฑ Built from the ground up to be lightweight, testable, and scalable

โœจ Included Behaviors

  • LoggingBehavior โ€“ Logs each request's execution
  • RetryBehavior โ€“ Automatically retries transient failures
  • CircuitBreakerBehavior โ€“ Prevents cascading failures
  • IdempotencyBehavior โ€“ Prevents double execution of requests
  • CachingBehavior โ€“ Supports custom or in-memory caching
  • RateLimitingBehavior โ€“ Protects downstream resources
  • ValidationBehavior โ€“ Uses FluentValidation validators
  • PerformanceBehavior โ€“ Tracks execution duration
  • MetricsBehavior โ€“ Exposes observable metrics for monitoring

๐Ÿ“ฆ Installation

Install the package via NuGet:

dotnet add package Quorix.Pipeline

๐Ÿ› ๏ธ Getting Started Register the pipeline:

services.AddQuorixPipeline() .AddLoggingBehavior() .AddRetryBehavior() .AddValidationBehavior() .AddQuorixMemoryCaching(); // Optional: Built-in memory caching

Add FluentValidation validators:

dotnet add package FluentValidation.DependencyInjectionExtensions

services.AddValidatorsFromAssemblyContaining<Startup>();

Provide a custom caching strategy:

services.AddQuorixCaching<YourCustomRedisCacheProvider>();

๐Ÿ”ง Custom Middleware Example

Create your own behavior by implementing:

public class CustomBehavior<TRequest, TResponse> : IPipelineBehavior<TRequest, TResponse> where TRequest : IRequest<TResponse> { public async Task<TResponse> Handle( TRequest request, RequestHandlerDelegate<TResponse> next, CancellationToken cancellationToken) { // Pre-processing logic var response = await next(); // Post-processing logic return response; } }

Then register:

services.AddScoped(typeof(IPipelineBehavior<,>), typeof(CustomBehavior<,>));

๐Ÿงช Built with Testability in Mind

All behaviors are added via DI and can be replaced or mocked for unit/integration tests. ๐Ÿ“„ License

Quorix.Pipeline is licensed under the MIT License โ€“ free for both personal and commercial use. ๐Ÿ”— Related Packages

Quorix.Mediator โ€“ Core CQRS mediator infrastructure

โญ Give Back

If you find this package helpful, a star on GitHub or NuGet would be appreciated.

Feedback and contributions are always welcome!

๐Ÿ“ฌ Contact

For commercial support, licensing inquiries, or contribution discussions, please get in touch at tunahan.ali.ozturk@outlook.com

Product Compatible and additional computed target framework versions.
.NET 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 was computed.  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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 146 5/27/2025