Aspireng.Application
1.1.9
dotnet add package Aspireng.Application --version 1.1.9
NuGet\Install-Package Aspireng.Application -Version 1.1.9
<PackageReference Include="Aspireng.Application" Version="1.1.9" />
<PackageVersion Include="Aspireng.Application" Version="1.1.9" />
<PackageReference Include="Aspireng.Application" />
paket add Aspireng.Application --version 1.1.9
#r "nuget: Aspireng.Application, 1.1.9"
#:package Aspireng.Application@1.1.9
#addin nuget:?package=Aspireng.Application&version=1.1.9
#tool nuget:?package=Aspireng.Application&version=1.1.9
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 wrapsIRepository<T>with cache + logging.
Bring your own domain entities in each microservice. Application services should depend on
Aspireng.Domainabstractions 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
UpsertAsyncandRemoveAsync.
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 | Versions 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. |
-
net9.0
- Aspireng.Caching (>= 1.1.9)
- Aspireng.Domain (>= 1.1.9)
- Microsoft.Extensions.Caching.Abstractions (>= 9.0.8)
- Microsoft.Extensions.Caching.Memory (>= 9.0.8)
- Microsoft.Extensions.Configuration (>= 9.0.8)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.8)
- Microsoft.Extensions.Configuration.Binder (>= 9.0.8)
- Microsoft.Extensions.Configuration.CommandLine (>= 9.0.8)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 9.0.8)
- Microsoft.Extensions.Configuration.FileExtensions (>= 9.0.8)
- Microsoft.Extensions.Configuration.Json (>= 9.0.8)
- Microsoft.Extensions.DependencyInjection (>= 9.0.8)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.8)
- Microsoft.Extensions.Hosting (>= 9.0.8)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.8)
- Microsoft.Extensions.Logging (>= 9.0.8)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.8)
- Microsoft.Extensions.Logging.Console (>= 9.0.8)
- Microsoft.Extensions.Options (>= 9.0.8)
- Microsoft.Extensions.Options.DataAnnotations (>= 9.0.8)
- Microsoft.SourceLink.GitHub (>= 8.0.0)
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 |