ActDim.Practix.Abstractions 1.1.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.1.0
                    
NuGet\Install-Package ActDim.Practix.Abstractions -Version 1.1.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.1.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.1.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.1.0
                    
#r "nuget: ActDim.Practix.Abstractions, 1.1.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.1.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.1.0
                    
Install as a Cake Addin
#tool nuget:?package=ActDim.Practix.Abstractions&version=1.1.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.


AI-Assisted Development

Developed with Along - a provider-agnostic context and memory system for AI coding agents.


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.Practix.Common

High-performance .NET foundation library: zero-allocation memory and stream pipelines (RecyclableMemoryStream, ArrayPool buffer owners), async ambient execution context (AsyncLocal-backed service/identity/cancellation propagation), bounded async object pooling with backpressure, concurrent collection factories (exactly-once ConcurrentFactoryDictionary, non-identity WeakTable), disposal and RAII lifecycle patterns (idempotent, exception-aware, observable), caching proxies, GZip/BZip2/ZLib compression, reflection introspection cache, and a rich set of extension methods for streams, tasks, collections, logging, and DI.

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

JSON serialization abstraction layer built on System.Text.Json with Newtonsoft.Json-familiar defaults out of the box: case-insensitive property matching, lenient number/string coercion, CLR-native object deserialization (ExpandoObject instead of JsonElement), relaxed UTF-8 encoding, cycle-safe references, and public field inclusion. Full API for serialize/deserialize to string, stream, and byte array (sync and async), JSON document merging, deep cloning, object population and patching, per-type naming policies via [JsonNaming], empty collection suppression via [JsonIgnoreEmpty], default value handling via [JsonIgnoreDefault]/[JsonDefaultValue], implicit operator value object serialization, and safe Exception serialization. Drop-in migration path from Newtonsoft.Json to System.Text.Json without sacrificing developer ergonomics.

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.2.0 0 9/22/2026
1.1.0 42 9/21/2026
1.0.16 158 9/9/2026