Healthie.NET.DependencyInjection
3.1.2
Prefix Reserved
See the version list below for details.
dotnet add package Healthie.NET.DependencyInjection --version 3.1.2
NuGet\Install-Package Healthie.NET.DependencyInjection -Version 3.1.2
<PackageReference Include="Healthie.NET.DependencyInjection" Version="3.1.2" />
<PackageVersion Include="Healthie.NET.DependencyInjection" Version="3.1.2" />
<PackageReference Include="Healthie.NET.DependencyInjection" />
paket add Healthie.NET.DependencyInjection --version 3.1.2
#r "nuget: Healthie.NET.DependencyInjection, 3.1.2"
#:package Healthie.NET.DependencyInjection@3.1.2
#addin nuget:?package=Healthie.NET.DependencyInjection&version=3.1.2
#tool nuget:?package=Healthie.NET.DependencyInjection&version=3.1.2

Healthie.NET.DependencyInjection
DI registration and the built-in TimerPulseScheduler for Healthie.NET. This package scans assemblies for PulseChecker implementations, registers them as singletons, and provides a zero-dependency PeriodicTimer-based scheduler.
Installation
dotnet add package Healthie.NET.DependencyInjection
Usage
using Healthie.DependencyInjection;
var builder = WebApplication.CreateBuilder(args);
// Scans for PulseChecker implementations and registers the built-in PeriodicTimer
// scheduler and in-memory state provider.
builder.Services.AddHealthie(typeof(Program).Assembly);
var app = builder.Build();
app.Run();
With custom options:
builder.Services.AddHealthie(
options => options.MaxHistoryLength = 10,
typeof(Program).Assembly);
Key Types
| Type | Description |
|---|---|
StartupExtensions.AddHealthie() |
Registers core services and scans assemblies for pulse checkers. |
TimerPulseScheduler |
Built-in IPulseScheduler using PeriodicTimer. Zero external dependencies. |
What It Registers
- All discovered
IPulseCheckerimplementations as singletons IPulsesScheduler/PulsesScheduleras a hosted serviceIPulseScheduler/TimerPulseScheduleras the default schedulerHealthieOptionsas a singletonStateProviderInitializationServiceas a hosted service
See Also
| 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 was computed. 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
- Healthie.NET.Abstractions (>= 3.1.2)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.10)
-
net8.0
- Healthie.NET.Abstractions (>= 3.1.2)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 8.0.29)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Healthie.NET.DependencyInjection:
| Package | Downloads |
|---|---|
|
Healthie.NET.Uptime
DEPRECATED -- use Healthie.NET.DependencyInjection, which now contains uptime reporting. This package remains as type forwards so existing applications keep working; it will not gain new features. |
|
|
Healthie.NET.LeaderElection
DEPRECATED -- use Healthie.NET.DependencyInjection, which now contains leader election. This package remains as type forwards so existing applications keep working; it will not gain new features. |
|
|
Healthie.NET
Health monitoring for .NET. Install this to get started: pulse checkers on a schedule, a three-state health model, and pluggable storage. Providers, the dashboard and the REST API are separate packages you add only if you want them. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.1.0 | 37 | 7/30/2026 |
| 4.0.0 | 34 | 7/30/2026 |
| 3.1.4 | 94 | 7/19/2026 |
| 3.1.3 | 93 | 7/18/2026 |
| 3.1.2 | 93 | 7/18/2026 |
| 3.1.1 | 86 | 7/18/2026 |
| 3.1.0 | 102 | 7/17/2026 |
| 3.0.0 | 99 | 7/15/2026 |
| 2.3.0 | 1,804 | 2/24/2026 |
| 2.1.1-beta | 117 | 2/24/2026 |
| 2.0.0-beta | 115 | 2/22/2026 |
| 1.1.0-beta | 132 | 5/31/2025 |
| 1.0.0-beta | 211 | 5/18/2025 |
### Fixed
- The prerendered dashboard no longer risks dropping its own circuit on a board with much state.
3.1.1 carried the states from prerender to the interactive render by persisting them into the
page, which put the whole board -- every checker and all its history -- on the SignalR circuit.
That payload grows with each checker, and past SignalR's default 32 KB message limit the hub
rejects it and the circuit never starts: the board freezes on the prerendered snapshot, styled but
not live. The states now stay on the server between the two renders (Blazor Server holds them there
already) and only a short-lived token travels to the browser and back, so the wire cost is constant
whatever the size of the board. A token that no longer resolves falls back to a fresh read. No
SignalR limit needs raising, so no extra memory or denial-of-service exposure comes with it.
### Fixed
- The dashboard no longer flickers on load when it is prerendered. Hosted the usual
way -- `<HealthieDashboard />` on an interactive-server page, which prerenders by
default -- the server rendered the full board, then the circuit connected a moment
later and the component started again from an empty state, read every checker afresh,
and briefly replaced the board already on screen. In that gap a status icon, which the
dashboard stylesheet sizes against its surroundings, painted for a frame before those
rules applied and filled the board as one large ring. The states the prerender reads
are now carried across to the interactive render through `PersistentComponentState`,
so the first interactive render matches the prerendered one: nothing is replaced, no
frame shows an unsized icon, and the redundant second read of every checker is gone.
Full changelog: https://github.com/ivanvyd/Healthie.NET/blob/v3.1.2/CHANGELOG.md