LicenseServer.Client.Abstractions
1.1.12
dotnet add package LicenseServer.Client.Abstractions --version 1.1.12
NuGet\Install-Package LicenseServer.Client.Abstractions -Version 1.1.12
<PackageReference Include="LicenseServer.Client.Abstractions" Version="1.1.12" />
<PackageVersion Include="LicenseServer.Client.Abstractions" Version="1.1.12" />
<PackageReference Include="LicenseServer.Client.Abstractions" />
paket add LicenseServer.Client.Abstractions --version 1.1.12
#r "nuget: LicenseServer.Client.Abstractions, 1.1.12"
#:package LicenseServer.Client.Abstractions@1.1.12
#addin nuget:?package=LicenseServer.Client.Abstractions&version=1.1.12
#tool nuget:?package=LicenseServer.Client.Abstractions&version=1.1.12
LicenseServer.Client.Abstractions
Interfaces, options, and event types for the LicenseServer Client SDK. Reference this package when you need to code against the SDK's abstractions without taking a dependency on the full implementation — ideal for libraries, shared projects, and unit testing with mocks.
Interfaces
| Interface | Purpose |
|---|---|
ILicenseClient |
Activate licenses, sync state, parse tokens |
ILicenseSessionClient |
Manage concurrent sessions (start, heartbeat, end) |
ILicenseStore |
Pluggable license persistence (get, set, clear) |
ISyncManager |
Background license synchronization control |
ILicenseState |
Query current license validity, status, and features |
ILicenseTokenParser |
Parse license tokens into ParsedLicense records |
IFingerprintCollector |
Collect and hash hardware fingerprints |
IFingerprintMatcher |
Weighted fingerprint comparison with threshold |
IClockGuard |
Server time validation and anti-rollback detection |
IResponseVerifier |
ECDSA response signature verification |
ILicenseEventHandler |
Lifecycle event callbacks (activation, sync, expiry, revocation) |
Configuration Options
// Required options for the license client
services.AddLicenseClient(opts =>
{
opts.BaseUrl = "https://license.example.com"; // Required
opts.ApiKey = "your-api-key"; // Required
opts.Timeout = TimeSpan.FromSeconds(30); // Default: 30s
opts.ApiVersion = "v1"; // Default: "v1"
opts.VerifyResponseSignatures = false; // Default: false
opts.TrustedResponseKey = null; // Required if verification enabled
opts.ValidateDomain = false; // Default: false
opts.Retry = new RetryOptions
{
MaxRetries = 3, // Default: 3
InitialDelay = TimeSpan.FromSeconds(1), // Default: 1s
Backoff = BackoffStrategy.Exponential // Default: Exponential
};
});
Event System
// Implement handlers by extending LicenseEventHandlerBase (all methods are optional)
public class MyHandler : LicenseEventHandlerBase
{
public override Task OnActivatedAsync(ParsedLicense license, CancellationToken ct)
{
Console.WriteLine($"Licensed to: {license.Customer.Name}");
return Task.CompletedTask;
}
public override Task OnExpiredAsync(ParsedLicense license, CancellationToken ct)
{
Console.WriteLine($"License expired at {license.ExpiresAt}");
return Task.CompletedTask;
}
}
License Status
The LicenseStatus enum covers all possible states:
Unknown | Valid | Expired | Revoked | Invalid | HardwareMismatch | DomainMismatch | ClockError | NotActivated | Suspended
Related Packages
| Package | Description |
|---|---|
| LicenseServer.Abstractions | Shared types, enums, DTOs |
| LicenseServer.Client | Full client SDK implementation |
| 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
- LicenseServer.Abstractions (>= 1.1.12)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on LicenseServer.Client.Abstractions:
| Package | Downloads |
|---|---|
|
LicenseServer.Client
Full .NET license client SDK with HTTP client, storage, sync, middleware, and event system |
GitHub repositories
This package is not used by any popular GitHub repositories.