Cirreum.Services.Client
1.0.27
dotnet add package Cirreum.Services.Client --version 1.0.27
NuGet\Install-Package Cirreum.Services.Client -Version 1.0.27
<PackageReference Include="Cirreum.Services.Client" Version="1.0.27" />
<PackageVersion Include="Cirreum.Services.Client" Version="1.0.27" />
<PackageReference Include="Cirreum.Services.Client" />
paket add Cirreum.Services.Client --version 1.0.27
#r "nuget: Cirreum.Services.Client, 1.0.27"
#:package Cirreum.Services.Client@1.0.27
#addin nuget:?package=Cirreum.Services.Client&version=1.0.27
#tool nuget:?package=Cirreum.Services.Client&version=1.0.27
Cirreum.Services.Client
Foundational services infrastructure for WebAssembly client applications
Overview
Cirreum.Services.Client provides essential infrastructure services specifically designed for Blazor WebAssembly applications. It delivers state management, session handling, browser storage integration, and user activity monitoring with a focus on WebAssembly-specific requirements.
Key Features
- State Management: Thread-safe application state with subscriber notifications and intelligent caching
- Session Management: Sophisticated lifecycle management with configurable timeout stages and activity monitoring
- Browser Integration: Local and session storage abstractions with WebAssembly file system support
- User Presence: Activity detection through DOM events and HTTP calls with configurable throttling
- Security: Content Security Policy builder and role-based authorization support
Core Services
// Register all core services
services.AddCoreServices(storage => {
// Optional storage configuration
});
// State management
var stateManager = serviceProvider.GetRequiredService<IStateManager>();
var userState = stateManager.Get<IUserState>();
// Session management with configurable stages
var sessionManager = serviceProvider.GetRequiredService<ISessionManager>();
sessionManager.SessionStageChanged += (stage) => {
// React to SafeZone/WatchZone transitions
};
// Browser storage
var localStorage = serviceProvider.GetRequiredService<ILocalStorageService>();
await localStorage.SetItemAsync("key", value);
Architecture
The library follows the Cirreum Foundation Framework pattern with layered simplicity:
- State Layer:
StateManager,StateContainer, specialized state types - Session Layer:
SessionManagerwith stage-based timeout handling - Storage Layer: Browser storage abstractions and WebAssembly file system
- Infrastructure Layer: Clock services, CSV utilities, CSP management
Session management uses a two-stage approach: SafeZone (0-90% of timeout) for minimal monitoring, and WatchZone (90-100%) for active monitoring with debounced session extension.
Contribution Guidelines
Be conservative with new abstractions
The API surface must remain stable and meaningful.Limit dependency expansion
Only add foundational, version-stable dependencies.Favor additive, non-breaking changes
Breaking changes ripple through the entire ecosystem.Include thorough unit tests
All primitives and patterns should be independently testable.Document architectural decisions
Context and reasoning should be clear for future maintainers.Follow .NET conventions
Use established patterns from Microsoft.Extensions.* libraries.
Versioning
Cirreum.Services.Client follows Semantic Versioning:
- Major - Breaking API changes
- Minor - New features, backward compatible
- Patch - Bug fixes, backward compatible
Given its foundational role, major version bumps are rare and carefully considered.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Cirreum Foundation Framework
Layered simplicity for modern .NET
| 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
- Cirreum.Core (>= 1.0.37)
- Cirreum.Startup (>= 1.0.107)
- Cirreum.Storage.Browser (>= 1.0.105)
- Microsoft.AspNetCore.Components (>= 10.0.2)
- Microsoft.AspNetCore.Components.WebAssembly.Authentication (>= 10.0.2)
- Microsoft.Extensions.Http (>= 10.0.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Cirreum.Services.Client:
| Package | Downloads |
|---|---|
|
Cirreum.Runtime.Client
The Cirreum Runtime Client. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 1.0.27 | 166 | 1/21/2026 | |
| 1.0.26 | 140 | 1/12/2026 | |
| 1.0.25 | 190 | 1/11/2026 | |
| 1.0.24 | 137 | 1/5/2026 | |
| 1.0.23 | 141 | 1/5/2026 | |
| 1.0.22 | 148 | 1/2/2026 | |
| 1.0.21 | 144 | 1/1/2026 | |
| 1.0.20 | 141 | 12/30/2025 | |
| 1.0.19 | 135 | 12/29/2025 | |
| 1.0.18 | 139 | 12/29/2025 | |
| 1.0.17 | 120 | 12/29/2025 | |
| 1.0.16 | 124 | 12/29/2025 | |
| 1.0.15 | 258 | 12/22/2025 | |
| 1.0.14 | 158 | 12/20/2025 | |
| 1.0.12 | 373 | 12/16/2025 | |
| 1.0.11 | 230 | 12/5/2025 | |
| 1.0.10 | 476 | 12/1/2025 | |
| 1.0.9 | 464 | 11/30/2025 | |
| 1.0.8 | 220 | 11/28/2025 | |
| 1.0.7 | 253 | 11/24/2025 |