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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LicenseServer.Client.Abstractions" Version="1.1.12" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LicenseServer.Client.Abstractions" Version="1.1.12" />
                    
Directory.Packages.props
<PackageReference Include="LicenseServer.Client.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LicenseServer.Client.Abstractions --version 1.1.12
                    
#r "nuget: LicenseServer.Client.Abstractions, 1.1.12"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package LicenseServer.Client.Abstractions@1.1.12
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=LicenseServer.Client.Abstractions&version=1.1.12
                    
Install as a Cake Addin
#tool nuget:?package=LicenseServer.Client.Abstractions&version=1.1.12
                    
Install as a Cake Tool

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

Package Description
LicenseServer.Abstractions Shared types, enums, DTOs
LicenseServer.Client Full client SDK implementation
Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.

Version Downloads Last Updated
1.1.12 135 6/27/2026
1.1.11 169 6/26/2026
1.1.10 216 5/24/2026
1.1.9 163 5/22/2026
1.1.8 139 5/16/2026
1.1.7 129 5/16/2026
1.1.6 132 5/15/2026
1.1.0 128 5/14/2026