Stratara.ServiceDefaults.AspNetCore
3.2.1
dotnet add package Stratara.ServiceDefaults.AspNetCore --version 3.2.1
NuGet\Install-Package Stratara.ServiceDefaults.AspNetCore -Version 3.2.1
<PackageReference Include="Stratara.ServiceDefaults.AspNetCore" Version="3.2.1" />
<PackageVersion Include="Stratara.ServiceDefaults.AspNetCore" Version="3.2.1" />
<PackageReference Include="Stratara.ServiceDefaults.AspNetCore" />
paket add Stratara.ServiceDefaults.AspNetCore --version 3.2.1
#r "nuget: Stratara.ServiceDefaults.AspNetCore, 3.2.1"
#:package Stratara.ServiceDefaults.AspNetCore@3.2.1
#addin nuget:?package=Stratara.ServiceDefaults.AspNetCore&version=3.2.1
#tool nuget:?package=Stratara.ServiceDefaults.AspNetCore&version=3.2.1
Stratara.ServiceDefaults.AspNetCore
License: MIT.
ASP.NET Core extensions on top of Stratara.ServiceDefaults. Reference from every API host.
What's in the box
| Extension | Purpose |
|---|---|
AddDefaultHealthChecks |
Registers a self-tagged health check that always reports Healthy + tags it as live so the /alive predicate can filter on it. |
MapDefaultEndpoints |
Maps /health (full health-check report) and /alive (only the live-tagged checks). |
ConfigureAspNetOpenTelemetry |
Wires ASP.NET Core request instrumentation on metrics + tracing; filters out the health-check + aliveness endpoints from traces so they don't pollute the request stream. |
Quick start
builder.ConfigureOpenTelemetry(); // from Stratara.ServiceDefaults
builder.ConfigureAspNetOpenTelemetry(); // from this package
builder.AddDefaultHealthChecks();
builder.ConfigureSerilog(); // from Stratara.ServiceDefaults
var app = builder.Build();
app.MapDefaultEndpoints();
Dependencies
Stratara.ServiceDefaults— baseConfigureOpenTelemetryand shared endpoint constants.OpenTelemetry.Extensions.Hosting+OpenTelemetry.Instrumentation.AspNetCore.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- OpenTelemetry.Extensions.Hosting (>= 1.15.3)
- OpenTelemetry.Instrumentation.AspNetCore (>= 1.15.2)
- Stratara.ServiceDefaults (>= 3.2.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
### Fixed
- **Snapshot loads are now scoped to the aggregate type.** The snapshot read previously filtered
only by stream id, so when two aggregate types shared a stream id, rehydrating one type could
pick up the other type's (higher-versioned) snapshot and deserialize it into the requested type —
silently returning an aggregate with default/empty fields. Snapshot reads now match the aggregate
type (version-independently, so an assembly rev-bump does not invalidate existing snapshots), and
snapshot writes are grouped per `(stream, aggregate type)` so a stream carrying more than one type
snapshots each type independently. A snapshot of type X may now only ever rehydrate type X.
### Changed
- **`ISnapshotRepository` gained type-scoped read overloads.** `GetAsync(streamId,
aggregateTypeName, toVersion, ct)` and `GetLatestVersionOrDefaultAsync(streamId,
aggregateTypeName, ct)` are the correct lookups; the previous type-less overloads are now
`[Obsolete]` because they can return a foreign aggregate type's snapshot on a shared stream.
Custom `ISnapshotRepository` implementers should add the new overloads.