CacheOrchestrator.AspNetCore
3.0.0-beta.5
dotnet add package CacheOrchestrator.AspNetCore --version 3.0.0-beta.5
NuGet\Install-Package CacheOrchestrator.AspNetCore -Version 3.0.0-beta.5
<PackageReference Include="CacheOrchestrator.AspNetCore" Version="3.0.0-beta.5" />
<PackageVersion Include="CacheOrchestrator.AspNetCore" Version="3.0.0-beta.5" />
<PackageReference Include="CacheOrchestrator.AspNetCore" />
paket add CacheOrchestrator.AspNetCore --version 3.0.0-beta.5
#r "nuget: CacheOrchestrator.AspNetCore, 3.0.0-beta.5"
#:package CacheOrchestrator.AspNetCore@3.0.0-beta.5
#addin nuget:?package=CacheOrchestrator.AspNetCore&version=3.0.0-beta.5&prerelease
#tool nuget:?package=CacheOrchestrator.AspNetCore&version=3.0.0-beta.5&prerelease
CacheOrchestrator.AspNetCore
CacheOrchestrator is a multi-tier cache coordination and synchronized invalidation library for .NET.
This package is the HTTP host layer: Output Cache domain policies, Client Cache headers, Admin API, vary rules, and HTTP IDomainDataCache (a thin projection over CacheOrchestrator.Core ICacheOrchestrator). It depends on CacheOrchestrator.Core only. You still need a Data Cache provider package (CacheOrchestrator.FusionCache or CacheOrchestrator.HybridCache) unless you use Output Cache alone.
Install
dotnet add package CacheOrchestrator.AspNetCore --prerelease
Configuration
{
"Cache": {
"OutputCache": { "Provider": "InMemory" },
"DataCacheInstances": { "default": { "Provider": "InMemory" } },
"Domains": {
"catalog": {
"Version": "1",
"DataCache": { "TtlSeconds": 300 },
"OutputCache": { "TtlSeconds": 60 },
"ClientCache": { "Cacheability": "Public", "TtlSeconds": 30 }
}
}
}
}
Usage
With Fusion as the data engine (install that package as well):
dotnet add package CacheOrchestrator.FusionCache --prerelease
dotnet add package CacheOrchestrator.AspNetCore --prerelease
builder.Services.AddCacheOrchestratorAspNetCore(builder.Configuration);
builder.Services.AddCacheOrchestratorFusionCache(builder.Configuration);
var app = builder.Build();
app.UseCacheOrchestrator();
app.MapGet("/api/products/{id:int}", async (HttpContext http, int id, IDomainDataCache cache) =>
{
var data = await cache.GetOrSetAsync(http, ct => LoadProductAsync(id, ct));
return Results.Json(data);
})
.CacheOutputWithDomain("catalog");
Without .CacheOutputWithDomain / [CacheDomain], Output Cache does not store (base policy is NoCache).
Without identity bindings, Output Cache applies to GET/HEAD with Url identity. For other methods (or a custom GET key), use .WithCacheIdentity / [CacheIdentity] or .WithContentHashCacheIdentity / [ContentHashCacheIdentity] (CacheOrchestrator.Identity). Register named contracts with AddCacheIdentityContract<T>(). Docs: endpoint cache identity.
For a single NuGet reference that already includes CacheOrchestrator.AspNetCore + CacheOrchestrator.FusionCache, see the CacheOrchestrator meta package.
Documentation
License
MIT — LICENSE.md
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. 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 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. |
-
net10.0
- CacheOrchestrator.Core (>= 3.0.0-beta.5)
-
net8.0
- CacheOrchestrator.Core (>= 3.0.0-beta.5)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on CacheOrchestrator.AspNetCore:
| Package | Downloads |
|---|---|
|
CacheOrchestrator
Domain-based configuration and coordination for ASP.NET Core Output Cache, FusionCache, and client Cache-Control — not a cache of its own. Redis backends: install CacheOrchestrator.Redis. |
|
|
CacheOrchestrator.HttpBus
HTTP cluster command bus transport for CacheOrchestrator: invalidate, Version, and TTL commands across instances (Static or ServiceDiscovery membership). |
|
|
CacheOrchestrator.AspNetCore.Redis
Redis Output Cache store for CacheOrchestrator.AspNetCore. |
|
|
CacheOrchestrator.Edge
Tag-native edge response metadata and queued invalidation for CacheOrchestrator. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0-beta.5 | 171 | 9/8/2026 |
| 3.0.0-beta.4 | 107 | 9/7/2026 |
| 3.0.0-beta.3 | 101 | 8/30/2026 |
| 3.0.0-beta.2 | 90 | 8/25/2026 |
| 3.0.0-beta.1 | 92 | 8/25/2026 |
CacheOrchestrator 3.0.0-beta.5
v3 beta.5 fixes authenticated cache-key collisions, HTTP representation identity, entity-footprint tag publication, EF transaction-aware invalidation, and Redis backend isolation. Runtime settings update atomically, cluster commands report incomplete execution, and queued Edge purges retain their original destinations. Public API contracts, documentation, regression coverage, and package/analyzer checks are aligned for 3.0.
Full notes: https://github.com/CacheOrchestrator/CacheOrchestrator/releases/tag/v3.0.0-beta.5