NetEvolve.Http.Correlation.AspNetCore
3.0.0
Prefix Reserved
dotnet add package NetEvolve.Http.Correlation.AspNetCore --version 3.0.0
NuGet\Install-Package NetEvolve.Http.Correlation.AspNetCore -Version 3.0.0
<PackageReference Include="NetEvolve.Http.Correlation.AspNetCore" Version="3.0.0" />
<PackageVersion Include="NetEvolve.Http.Correlation.AspNetCore" Version="3.0.0" />
<PackageReference Include="NetEvolve.Http.Correlation.AspNetCore" />
paket add NetEvolve.Http.Correlation.AspNetCore --version 3.0.0
#r "nuget: NetEvolve.Http.Correlation.AspNetCore, 3.0.0"
#:package NetEvolve.Http.Correlation.AspNetCore@3.0.0
#addin nuget:?package=NetEvolve.Http.Correlation.AspNetCore&version=3.0.0
#tool nuget:?package=NetEvolve.Http.Correlation.AspNetCore&version=3.0.0
NetEvolve.Http.Correlation.AspNetCore
ASP.NET Core middleware for managing HTTP correlation IDs across distributed requests.
Overview
This package provides middleware and services to automatically handle correlation IDs in ASP.NET Core applications. It ensures that incoming requests with correlation headers are preserved and that new correlation IDs are generated when needed.
Key Features
- Automatic Correlation ID Handling: Reads and preserves correlation IDs from incoming requests
- Flexible Header Support: Supports
X-Correlation-ID(primary) andX-Request-ID(fallback) - Configurable ID Generation: Pluggable correlation ID providers with default Sequential GUID implementation
- Response Headers: Optionally includes correlation ID in response headers
- Dependency Injection: Seamless integration with ASP.NET Core DI container
- Multi-Framework Support: Compatible with .NET 8.0, 9.0, and 10.0
Installation
dotnet add package NetEvolve.Http.Correlation.AspNetCore
Usage
Basic Setup
Configure services and middleware in your Program.cs:
using NetEvolve.Http.Correlation;
var builder = WebApplication.CreateBuilder(args);
// Register correlation services
builder.Services.AddHttpCorrelation();
var app = builder.Build();
// Add middleware to the pipeline
app.UseHttpCorrelation();
app.Run();
Advanced Configuration
Use alternative ID generators:
// Use GUID V7 (available in .NET 9.0+)
builder.Services
.AddHttpCorrelation()
.WithGuidV7Generator();
// Use standard GUID
builder.Services
.AddHttpCorrelation()
.WithGuidGenerator();
Accessing Correlation IDs
Inject IHttpCorrelationAccessor to access the current correlation ID:
public class MyService
{
private readonly IHttpCorrelationAccessor _correlationAccessor;
public MyService(IHttpCorrelationAccessor correlationAccessor)
{
_correlationAccessor = correlationAccessor;
}
public void LogRequest()
{
var correlationId = _correlationAccessor.CorrelationId;
Console.WriteLine($"Processing request with correlation ID: {correlationId}");
}
}
Related Packages
- NetEvolve.Http.Correlation.Abstractions - Core abstractions and interfaces
- NetEvolve.Http.Correlation.HttpClient - Correlation forwarding for HTTP clients
- NetEvolve.Http.Correlation.Ulid - Alternative ULID-based provider
- NetEvolve.Http.Correlation.TestGenerator - Test-friendly provider
Dependencies
NetEvolve.Http.Correlation.AbstractionsMicrosoft.AspNetCore.App(Framework Reference)
License
Licensed under the MIT License. See LICENSE for details.
| Product | Versions 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. |
-
net10.0
- NetEvolve.Http.Correlation.Abstractions (>= 3.0.0)
-
net8.0
- NetEvolve.Http.Correlation.Abstractions (>= 3.0.0)
-
net9.0
- NetEvolve.Http.Correlation.Abstractions (>= 3.0.0)
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 |
|---|---|---|
| 3.0.0 | 695 | 11/23/2025 |
| 2.3.56 | 559 | 10/20/2025 |
| 2.3.3 | 2,650 | 5/4/2025 |
| 2.3.1 | 560 | 4/9/2025 |
| 2.2.85 | 5,272 | 9/12/2024 |
| 2.2.75 | 470 | 8/26/2024 |
| 2.2.44 | 1,071 | 6/11/2024 |
| 2.2.15 | 439 | 5/21/2024 |
| 2.2.11 | 181 | 5/21/2024 |
| 2.2.2 | 226 | 5/17/2024 |
| 2.1.13 | 327 | 5/15/2024 |
| 2.1.7 | 776 | 4/8/2024 |
| 2.1.0 | 206 | 4/4/2024 |
| 2.0.0 | 215 | 4/4/2024 |
| 1.2.36 | 923 | 2/20/2024 |
| 1.2.13 | 998 | 1/5/2024 |
| 1.2.4 | 206 | 1/3/2024 |
| 1.2.1 | 379 | 1/1/2024 |
| 1.1.69 | 689 | 11/28/2023 |
| 1.1.39 | 1,081 | 10/7/2023 |
| 1.1.19 | 825 | 8/28/2023 |
| 1.1.18 | 222 | 8/28/2023 |
| 1.1.12 | 223 | 8/28/2023 |
| 1.1.0 | 1,460 | 7/3/2023 |