SquidStd.Services.Core
0.7.0
dotnet add package SquidStd.Services.Core --version 0.7.0
NuGet\Install-Package SquidStd.Services.Core -Version 0.7.0
<PackageReference Include="SquidStd.Services.Core" Version="0.7.0" />
<PackageVersion Include="SquidStd.Services.Core" Version="0.7.0" />
<PackageReference Include="SquidStd.Services.Core" />
paket add SquidStd.Services.Core --version 0.7.0
#r "nuget: SquidStd.Services.Core, 0.7.0"
#:package SquidStd.Services.Core@0.7.0
#addin nuget:?package=SquidStd.Services.Core&version=0.7.0
#tool nuget:?package=SquidStd.Services.Core&version=0.7.0
<p align="center"> <img src="https://raw.githubusercontent.com/tgiachi/squid-std/main/assets/icon.png" alt="SquidStd" width="120" height="120" /> </p>
<h1 align="center">SquidStd.Services.Core</h1>
<p align="center"> <a href="https://www.nuget.org/packages/SquidStd.Services.Core/"><img src="https://img.shields.io/nuget/v/SquidStd.Services.Core.svg" alt="NuGet" /></a> <img src="https://img.shields.io/nuget/dt/SquidStd.Services.Core.svg" alt="Downloads" /> <a href="https://tgiachi.github.io/squid-std/articles/services-core.html"><img src="https://img.shields.io/badge/docs-DocFX-1390A3.svg" alt="docs" /></a> <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="license" /> </p>
Concrete implementations of the SquidStd.Core contracts, wired for DryIoc. A single
RegisterCoreServices() call brings up the configuration manager, event bus, job system, timer wheel,
main-thread dispatcher, metrics collection, storage, and secrets services.
Install
dotnet add package SquidStd.Services.Core
Features
- One-line bootstrap:
container.RegisterCoreServices()registers the full default service set. ConfigManagerService— loads/saves YAML config sections and substitutes$ENV_VARtokens.EventBusService— in-process publish/subscribe overIEvent.JobSystemService— background job execution;TimerWheelService+ cron scheduling for timed work.MainThreadDispatcherService— marshal work back onto a main thread.MetricsCollectionService— aggregatesIMetricProvidersamples.HealthCheckService— aggregatesIHealthChecks into one report (RegisterHealthChecksService).- AES-GCM-protected secret store. (File/object storage moved to
SquidStd.Storage, opt-in viaAddFileStorage.)
Usage
using DryIoc;
using SquidStd.Services.Core.Extensions;
var container = new Container();
// Registers config manager + event bus + jobs + timer wheel + dispatcher + metrics + storage + secrets.
container.RegisterCoreServices("squidstd", Directory.GetCurrentDirectory());
Key types
| Type | Purpose |
|---|---|
RegisterDefaultServicesExtensions |
RegisterCoreServices() / RegisterConfigManagerService() entry points. |
ConfigManagerService |
YAML config load/save with env-var substitution. |
EventBusService |
In-process event bus implementation. |
JobSystemService |
Background job execution. |
TimerWheelService |
Timer-wheel scheduling. |
MainThreadDispatcherService |
Main-thread work dispatch. |
MetricsCollectionService |
Metric sample aggregation. |
License
MIT — part of SquidStd.
| 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
- Cronos (>= 0.13.0)
- DryIoc.dll (>= 5.4.3)
- Serilog (>= 4.3.1)
- Serilog.Sinks.Console (>= 6.1.1)
- Serilog.Sinks.File (>= 7.0.0)
- SquidStd.Abstractions (>= 0.7.0)
- SquidStd.Core (>= 0.7.0)
- SquidStd.Storage (>= 0.7.0)
- SquidStd.Storage.Abstractions (>= 0.7.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on SquidStd.Services.Core:
| Package | Downloads |
|---|---|
|
SquidStd.AspNetCore
Package Description |
|
|
SquidStd.Workers.Manager
Package Description |
|
|
SquidStd.Mail.MailKit
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.