Aspireng.Application 1.1.9

dotnet add package Aspireng.Application --version 1.1.9
                    
NuGet\Install-Package Aspireng.Application -Version 1.1.9
                    
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="Aspireng.Application" Version="1.1.9" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Aspireng.Application" Version="1.1.9" />
                    
Directory.Packages.props
<PackageReference Include="Aspireng.Application" />
                    
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 Aspireng.Application --version 1.1.9
                    
#r "nuget: Aspireng.Application, 1.1.9"
                    
#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 Aspireng.Application@1.1.9
                    
#: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=Aspireng.Application&version=1.1.9
                    
Install as a Cake Addin
#tool nuget:?package=Aspireng.Application&version=1.1.9
                    
Install as a Cake Tool

Aspireng.Application

Purpose: Application-level helpers that orchestrate domain repositories with caching and logging. This package stays UI- and storage-agnostic.


Contents

  • Common/IAppCache.cs – tiny cache abstraction to keep infra details out of application services.
  • Services/ReadWriteService.cs – generic service that wraps IRepository<T> with cache + logging.

Bring your own domain entities in each microservice. Application services should depend on Aspireng.Domain abstractions only.


Typical Usage

using Microsoft.Extensions.Logging;
using Aspireng.Application.Common;
using Aspireng.Application.Services;
using Aspireng.Domain.Abstractions;
using MyService.Domain; // your local entity

public sealed class OrderService : ReadWriteService<Order>
{
    public OrderService(IRepository<Order> repo, IAppCache cache, ILogger<Order> logger)
        : base(repo, cache, logger) { }
}

Query with a specification:

var recent = await orderService.ListAsync(new OrdersByCustomerSpec(customerId), cacheMinutes: 2, cancellationToken);

Upsert / delete:

await orderService.UpsertAsync(order, cancellationToken);
await orderService.RemoveAsync(orderId, cancellationToken);

Caching

  • Keys are namespaced by entity type and Id.
  • List caches are keyed by a hash of the specification.
  • The service invalidates the relevant keys on UpsertAsync and RemoveAsync.

Provide an IAppCache implementation in Infrastructure (e.g., memory cache or your existing IIsolatedCache adapter).


What not to add

  • No concrete storage code, no EF DbContext, no file IO.
  • No UI or HTTP controllers.

Pack

./build/release-aspireng.cmd

The package id should be Aspireng.Application.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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 Aspireng.Application:

Package Downloads
Aspireng.Infrastructure

Infrastructure for repositories and specs.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.9 335 9/17/2025
1.1.8 327 9/16/2025
1.1.6 327 9/16/2025
1.1.5 331 9/16/2025
1.1.4 326 9/16/2025
1.1.3 156 8/22/2025
1.1.2 133 8/22/2025
1.1.1 133 8/22/2025
1.0.9 132 8/22/2025
1.0.7 159 8/22/2025
1.0.6 194 8/21/2025
1.0.5 199 8/20/2025
1.0.4 192 8/20/2025
1.0.2 199 8/20/2025
1.0.1 191 8/20/2025
1.0.0 192 8/20/2025