Atc.Rest.HealthChecks
3.0.174
dotnet add package Atc.Rest.HealthChecks --version 3.0.174
NuGet\Install-Package Atc.Rest.HealthChecks -Version 3.0.174
<PackageReference Include="Atc.Rest.HealthChecks" Version="3.0.174" />
<PackageVersion Include="Atc.Rest.HealthChecks" Version="3.0.174" />
<PackageReference Include="Atc.Rest.HealthChecks" />
paket add Atc.Rest.HealthChecks --version 3.0.174
#r "nuget: Atc.Rest.HealthChecks, 3.0.174"
#:package Atc.Rest.HealthChecks@3.0.174
#addin nuget:?package=Atc.Rest.HealthChecks&version=3.0.174
#tool nuget:?package=Atc.Rest.HealthChecks&version=3.0.174
Atc.Rest.HealthChecks
Target Framework: net9.0, net10.0
Health check implementations and utilities for ASP.NET Core applications. Provides factories and helpers for creating JSON-formatted health check endpoints with detailed resource status information.
Why Use This Library?
Building robust health check endpoints requires consistent formatting and detailed status information. Atc.Rest.HealthChecks simplifies this by providing:
- JSON Health Check Responses: Factory methods for JSON-formatted health checks
- Resource Health Tracking: Track individual service/resource health status
- Detailed Diagnostics: Include timing, status, and error details for each check
- IReadOnlyDictionary Conversion: Helper extensions for health check data
- Production-Ready Endpoints: Standardized health check responses
Perfect for:
- Microservices requiring health endpoints
- Kubernetes/container orchestration health probes
- Load balancer health checks
- Monitoring and observability solutions
- API management platforms
Installation
dotnet add package Atc.Rest.HealthChecks
Target Framework
- .NET 9.0
Key Features
HealthCheckOptionsFactoryfor creating JSON health check endpointsResourceHealthCheckclass for tracking individual resource status- Extension methods for converting health data to IReadOnlyDictionary
- Integration with Microsoft.Extensions.Diagnostics.HealthChecks
- Support for custom health check implementations
Requirements
Key Dependencies
- Microsoft.AspNetCore.App (framework reference)
- Microsoft.Extensions.Diagnostics.HealthChecks
- Atc (foundation library)
Code documentation
Examples
The Startup.cs class in an API
using Microsoft.Extensions.Diagnostics.HealthChecks;
public class Startup
{
private readonly JsonSerializerOptions jsonSerializerOptions;
public Startup()
{
jsonSerializerOptions = Atc.Serialization.JsonSerializerOptionsFactory.Create();
}
public void ConfigureServices(IServiceCollection services)
{
services
.AddHealthChecks()
.AddCheck<MyHealthCheck>(
name: "MyHealthCheck",
failureStatus: HealthStatus.Unhealthy,
timeout: TimeSpan.FromSeconds(30));
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseEndpoints(endpoints =>
{
endpoints.MapHealthChecks(
"/health",
HealthCheckOptionsFactory.CreateJson(
"ApplicationName.Api",
jsonSerializerOptions));
});
}
}
The MyHealthCheck class
public class MyHealthCheck : IHealthCheck
{
public Task<HealthCheckResult> CheckHealthAsync(
HealthCheckContext context,
CancellationToken cancellationToken = default)
{
var data = new List<ResourceHealthCheck>();
CheckSomeServices(data);
if (data.All(x => x.Status == HealthStatus.Healthy))
{
return Task.FromResult(
HealthCheckResult.Healthy(
"ApplicationName is healthy.",
data: data.ToIReadOnlyDictionary()));
}
return Task.FromResult(
HealthCheckResult.Unhealthy(
"ApplicationName is unhealthy.",
exception: null,
data: data.ToIReadOnlyDictionary()));
}
private void CheckSomeServices(
ICollection<ResourceHealthCheck> data)
{
var sw = Stopwatch.StartNew();
// Perform first HealthCheck and add a healthCheck to the data dictionary
data.Add(
new ResourceHealthCheck(
"Service1",
HealthStatus.Healthy,
"Service1 is running.",
sw.Elapsed));
// Perform second HealthCheck and add a healthCheck to the data dictionary
sw.Reset();
data.Add(
new ResourceHealthCheck(
"Service2",
HealthStatus.Unhealthy,
"Service2 is not running.",
sw.Elapsed));
sw.Stop();
}
}
Contributing
Contributions are welcome! Please see the main repository README for contribution guidelines.
| Product | Versions 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 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
- Atc (>= 3.0.174)
-
net9.0
- Atc (>= 3.0.174)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.9)
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.174 | 207 | 6/24/2026 |
| 3.0.173 | 121 | 6/24/2026 |
| 3.0.172 | 98 | 6/24/2026 |
| 3.0.67 | 1,508 | 4/25/2026 |
| 3.0.46 | 612 | 4/15/2026 |
| 3.0.45 | 280 | 4/10/2026 |
| 3.0.44 | 187 | 4/9/2026 |
| 3.0.43 | 114 | 4/9/2026 |
| 3.0.41 | 194 | 4/9/2026 |
| 3.0.40 | 149 | 4/9/2026 |
| 3.0.18 | 1,140 | 2/9/2026 |
| 3.0.16 | 511 | 12/15/2025 |
| 3.0.12 | 220 | 11/28/2025 |
| 3.0.9 | 406 | 11/21/2025 |
| 3.0.8 | 551 | 11/14/2025 |
| 3.0.4 | 447 | 11/6/2025 |
| 2.0.562 | 1,213 | 9/4/2025 |
| 2.0.561 | 257 | 9/4/2025 |
| 2.0.560 | 276 | 9/3/2025 |
| 2.0.558 | 370 | 8/22/2025 |