NetEvolve.Http.Correlation.Azure.Functions
3.1.0
Prefix Reserved
dotnet add package NetEvolve.Http.Correlation.Azure.Functions --version 3.1.0
NuGet\Install-Package NetEvolve.Http.Correlation.Azure.Functions -Version 3.1.0
<PackageReference Include="NetEvolve.Http.Correlation.Azure.Functions" Version="3.1.0" />
<PackageVersion Include="NetEvolve.Http.Correlation.Azure.Functions" Version="3.1.0" />
<PackageReference Include="NetEvolve.Http.Correlation.Azure.Functions" />
paket add NetEvolve.Http.Correlation.Azure.Functions --version 3.1.0
#r "nuget: NetEvolve.Http.Correlation.Azure.Functions, 3.1.0"
#:package NetEvolve.Http.Correlation.Azure.Functions@3.1.0
#addin nuget:?package=NetEvolve.Http.Correlation.Azure.Functions&version=3.1.0
#tool nuget:?package=NetEvolve.Http.Correlation.Azure.Functions&version=3.1.0
NetEvolve.Http.Correlation.Azure.Functions
Azure Functions isolated worker middleware for managing HTTP correlation IDs across distributed requests.
Overview
This package provides middleware and services to automatically handle correlation IDs in Azure Functions isolated worker applications. It ensures that incoming HTTP-triggered functions preserve incoming correlation headers and that new correlation IDs are generated when needed.
Key Features
- Automatic Correlation ID Handling: Reads and preserves correlation IDs from incoming HTTP 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: Includes correlation ID in response headers
- Dependency Injection: Seamless integration with Azure Functions DI container
- Multi-Framework Support: Compatible with .NET 8.0, 9.0, and 10.0
Installation
dotnet add package NetEvolve.Http.Correlation.Azure.Functions
Usage
Basic Setup
Configure services and middleware in your Program.cs:
using NetEvolve.Http.Correlation;
var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults((context, builder) =>
{
// Add middleware to the pipeline
builder.Services.AddHttpCorrelation();
builder.UseHttpCorrelation();
})
.Build();
host.Run();
Advanced Configuration
Use alternative ID generators:
var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults((context, builder) =>
{
// Use GUID V7 (available in .NET 9.0+)
builder.Services
.AddHttpCorrelation()
.WithGuidV7Generator();
builder.UseHttpCorrelation();
})
.Build();
Accessing Correlation IDs
Inject IHttpCorrelationAccessor to access the current correlation ID:
public class MyFunction
{
private readonly IHttpCorrelationAccessor _correlationAccessor;
public MyFunction(IHttpCorrelationAccessor correlationAccessor)
{
_correlationAccessor = correlationAccessor;
}
[Function("MyFunction")]
public HttpResponseData Run([HttpTrigger(AuthorizationLevel.Anonymous, "get")] HttpRequestData req)
{
var correlationId = _correlationAccessor.CorrelationId;
Console.WriteLine($"Processing request with correlation ID: {correlationId}");
var response = req.CreateResponse(HttpStatusCode.OK);
return response;
}
}
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.Azure.Functions.Worker.Core
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
- Microsoft.Azure.Functions.Worker.Core (>= 2.51.0)
- NetEvolve.Http.Correlation.Abstractions (>= 3.1.0)
-
net8.0
- Microsoft.Azure.Functions.Worker.Core (>= 2.51.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
- NetEvolve.Http.Correlation.Abstractions (>= 3.1.0)
-
net9.0
- Microsoft.Azure.Functions.Worker.Core (>= 2.51.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
- NetEvolve.Http.Correlation.Abstractions (>= 3.1.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.1.0 | 0 | 3/23/2026 |