CacheOrchestrator.AspNetCore
3.0.0-beta.3
dotnet add package CacheOrchestrator.AspNetCore --version 3.0.0-beta.3
NuGet\Install-Package CacheOrchestrator.AspNetCore -Version 3.0.0-beta.3
<PackageReference Include="CacheOrchestrator.AspNetCore" Version="3.0.0-beta.3" />
<PackageVersion Include="CacheOrchestrator.AspNetCore" Version="3.0.0-beta.3" />
<PackageReference Include="CacheOrchestrator.AspNetCore" />
paket add CacheOrchestrator.AspNetCore --version 3.0.0-beta.3
#r "nuget: CacheOrchestrator.AspNetCore, 3.0.0-beta.3"
#:package CacheOrchestrator.AspNetCore@3.0.0-beta.3
#addin nuget:?package=CacheOrchestrator.AspNetCore&version=3.0.0-beta.3&prerelease
#tool nuget:?package=CacheOrchestrator.AspNetCore&version=3.0.0-beta.3&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.3)
-
net8.0
- CacheOrchestrator.Core (>= 3.0.0-beta.3)
NuGet packages (3)
Showing the top 3 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. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0-beta.3 | 65 | 8/30/2026 |
| 3.0.0-beta.2 | 76 | 8/25/2026 |
| 3.0.0-beta.1 | 75 | 8/25/2026 |
CacheOrchestrator 3.0.0-beta.3
v3 beta.3 continues the modular package split and host integrations for early testing. Highlights: Redis leaf packages (`AspNetCore.Redis`, `FusionCache.Redis`) beside the Redis meta package; endpoint cache identity for non-GET reads; docs and playground multi-instance product store improvements.
Full notes: https://github.com/amarinsek/CacheOrchestrator/releases/tag/v3.0.0-beta.3