ActDim.Practix.Abstractions 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package ActDim.Practix.Abstractions --version 1.0.0
                    
NuGet\Install-Package ActDim.Practix.Abstractions -Version 1.0.0
                    
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="ActDim.Practix.Abstractions" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ActDim.Practix.Abstractions" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="ActDim.Practix.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 ActDim.Practix.Abstractions --version 1.0.0
                    
#r "nuget: ActDim.Practix.Abstractions, 1.0.0"
                    
#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 ActDim.Practix.Abstractions@1.0.0
                    
#: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=ActDim.Practix.Abstractions&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=ActDim.Practix.Abstractions&version=1.0.0
                    
Install as a Cake Tool

ActDim.Practix.Abstractions

ActDim.Practix.Abstractions defines the core contract interfaces, abstractions, and data models for the ActDim.Practix framework ecosystem.

Features

  • Ambient Context Abstractions: Defines IAmbientContext and IAmbientContextProvider for managing ambient request/operation state safely across asynchronous call flows (AsyncLocal<T>).
  • Compression & Archival Contracts: Standardized interfaces for stream and buffer compression (ICompressionManager) supporting GZip, Brotli, Deflate, Tar, Zip, and archive inspection (IArchiveInfo, IArchiveEntry).
  • Domain Exception Contracts: Framework exception contracts (DataFormatException, IncompleteDataException).
  • Serialization & JSON Abstractions: Core serialization contracts (IJsonSerializer, IBinarySerializer, IStreamSerializer, IStringSerializer).
  • Pattern Abstractions: Reusable design pattern contracts (IProvider<T>, IAsyncProvider<T>, IFactory<T>, IAsyncFactory<T>, IBuilder<T>, IAsyncBuilder<T>, ICommand<T>, IAsyncCommand<T>, IHandler<T>, IAsyncHandler<T>, ISpecification<T>, IAsyncSpecification<T>).

Installation

Install via the .NET CLI:

dotnet add package ActDim.Practix.Abstractions

Or via Package Manager Console:

Install-Package ActDim.Practix.Abstractions

Quick Start

Using Ambient Context Interfaces

using ActDim.Practix.Abstractions.Context;

public class AuditService
{
    private readonly IAmbientContextProvider _contextProvider;

    public AuditService(IAmbientContextProvider contextProvider)
    {
        _contextProvider = contextProvider;
    }

    public void ProcessOperation()
    {
        var context = _contextProvider.Current;
        context.PushProperty("UserId", "user_12345");
        
        // Retrieve property later in the call stack
        if (context.Properties.TryGetValue("UserId", out var userId))
        {
            Console.WriteLine($"Current User: {userId}");
        }
    }
}

Using Serialization Abstractions

using ActDim.Practix.Abstractions.Json;

public class OrderProcessor
{
    private readonly IJsonSerializer _jsonSerializer;

    public OrderProcessor(IJsonSerializer jsonSerializer)
    {
        _jsonSerializer = jsonSerializer;
    }

    public string SerializeOrder<T>(T order)
    {
        return _jsonSerializer.Serialize(order);
    }
}

Dependency Injection

Implementations of these interfaces are available in concrete packages such as ActDim.Practix.Common and ActDim.Practix.Json.

License

This project is licensed under the MIT License.

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 (4)

Showing the top 4 NuGet packages that depend on ActDim.Practix.Abstractions:

Package Downloads
ActDim.BytePath

High-performance keyed blob and binary payload storage engine with decoupled registry, data store abstractions, TTL expiration, and distributed locking for .NET.

ActDim.Practix.Json

High-performance JSON serialization subsystem for ActDim.Practix backed by System.Text.Json.

ActDim.Practix.Common

Shared utilities, concurrent collection factories, caching proxies, and compression helpers for ActDim.Practix.

ActDim.Observability

OpenTelemetry-centric observability and ambient telemetry context framework for .NET applications.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.10 39 8/26/2026
1.0.9 66 8/25/2026
1.0.8 79 8/25/2026
1.0.7 165 8/20/2026
1.0.6 161 8/19/2026
1.0.5 162 8/19/2026
1.0.4 131 8/19/2026
1.0.3 132 8/18/2026
1.0.2 128 8/18/2026
1.0.1 125 8/17/2026
1.0.0 124 8/17/2026