Vulthil.Extensions.Hosting
1.0.1
dotnet add package Vulthil.Extensions.Hosting --version 1.0.1
NuGet\Install-Package Vulthil.Extensions.Hosting -Version 1.0.1
<PackageReference Include="Vulthil.Extensions.Hosting" Version="1.0.1" />
<PackageVersion Include="Vulthil.Extensions.Hosting" Version="1.0.1" />
<PackageReference Include="Vulthil.Extensions.Hosting" />
paket add Vulthil.Extensions.Hosting --version 1.0.1
#r "nuget: Vulthil.Extensions.Hosting, 1.0.1"
#:package Vulthil.Extensions.Hosting@1.0.1
#addin nuget:?package=Vulthil.Extensions.Hosting&version=1.0.1
#tool nuget:?package=Vulthil.Extensions.Hosting&version=1.0.1
Vulthil.Extensions.Hosting
Small hosting abstractions for Vulthil.
IRestartableHostedService
A marker interface an IHostedService
implements to declare that its execution can be stopped and started again cleanly. Infrastructure can then pause
the service for the duration of an operation that must not run concurrently with it, and resume it afterwards.
The primary use is test isolation: Vulthil.xUnit pauses every registered hosted service implementing this marker
around the per-test database reset, so a live database-polling relay (for example the
Vulthil.SharedKernel.Outbox background relay) does not contend with the reset and time it out. The relay opts in
simply by implementing the marker — no test-only code, and the testing library never depends on the outbox engine.
internal sealed class OutboxBackgroundService(/* ... */) : BackgroundService, IRestartableHostedService
{
// ExecuteAsync is written so a Stop/Start cycle re-runs it cleanly.
}
Implement it only on services whose StartAsync/StopAsync are idempotent across repeated cycles.
| 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
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.9)
- SonarAnalyzer.CSharp (>= 10.27.0.140913)
-
net9.0
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.9)
- SonarAnalyzer.CSharp (>= 10.27.0.140913)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Vulthil.Extensions.Hosting:
| Package | Downloads |
|---|---|
|
Vulthil.SharedKernel.Outbox
Transactional outbox engine for Vulthil.SharedKernel — the message-capture model, the relay processor and background service, pluggable dispatchers, the commit-time relay signal, and the persistence-agnostic IOutboxStore seam. Free of any EF Core dependency; an EF implementation lives in Vulthil.SharedKernel.Outbox.EntityFrameworkCore. |
|
|
Vulthil.xUnit
Reusable xUnit base infrastructure for integration and unit test composition. |
GitHub repositories
This package is not used by any popular GitHub repositories.