CacheOrchestrator.AspNetCore
3.0.0-beta.2
dotnet add package CacheOrchestrator.AspNetCore --version 3.0.0-beta.2
NuGet\Install-Package CacheOrchestrator.AspNetCore -Version 3.0.0-beta.2
<PackageReference Include="CacheOrchestrator.AspNetCore" Version="3.0.0-beta.2" />
<PackageVersion Include="CacheOrchestrator.AspNetCore" Version="3.0.0-beta.2" />
<PackageReference Include="CacheOrchestrator.AspNetCore" />
paket add CacheOrchestrator.AspNetCore --version 3.0.0-beta.2
#r "nuget: CacheOrchestrator.AspNetCore, 3.0.0-beta.2"
#:package CacheOrchestrator.AspNetCore@3.0.0-beta.2
#addin nuget:?package=CacheOrchestrator.AspNetCore&version=3.0.0-beta.2&prerelease
#tool nuget:?package=CacheOrchestrator.AspNetCore&version=3.0.0-beta.2&prerelease
CacheOrchestrator.AspNetCore
CacheOrchestrator unifies the configuration of Output Cache, data cache, and client Cache-Control within a single domain model. It ensures seamless coordination and cache invalidation across all layers while significantly reducing boilerplate code.
This package is the ASP.NET Core host layer: Output Cache domain policies, client Cache-Control, Admin API, vary rules, and HTTP IDomainDataCache (a thin projection over Core ICacheOrchestrator). It depends on Core only. You still need a data-cache provider package (Fusion or Hybrid) unless you use Output Cache alone.
Install
dotnet add package CacheOrchestrator.AspNetCore --prerelease
Config
{
"Cache": {
"OutputCache": { "Provider": "InMemory" },
"DataCacheInstances": { "default": { "Provider": "InMemory" } },
"Domains": {
"catalog": {
"Version": "1",
"DataCache": { "TtlSeconds": 300 },
"OutputCache": { "TtlSeconds": 60 },
"ClientCache": { "Cacheability": "Public", "TtlSeconds": 30 }
}
}
}
}
Example
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}", async (HttpContext http, string 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).
For a single NuGet reference that already includes AspNetCore + Fusion, see CacheOrchestrator.
Related packages
| Package | Role |
|---|---|
| CacheOrchestrator | Meta package (AspNetCore + Fusion) for typical web apps |
| CacheOrchestrator.Core | Http-free domains and ICacheOrchestrator (libraries / workers) |
| CacheOrchestrator.FusionCache | FusionCache data-cache provider |
| CacheOrchestrator.HybridCache | Microsoft HybridCache data-cache provider |
| CacheOrchestrator.Redis | Redis Output Cache store / Fusion L2 / backplane |
| CacheOrchestrator.HttpBus | Multi-instance invalidate / Version / settings bus |
| CacheOrchestrator.EFCore.Invalidation | Invalidate after EF SaveChanges |
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.2)
-
net8.0
- CacheOrchestrator.Core (>= 3.0.0-beta.2)
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.Redis
Redis backends for CacheOrchestrator: Output Cache store, FusionCache L2 + backplane, and health probes. |
|
|
CacheOrchestrator.HttpBus
HTTP cluster command bus transport for CacheOrchestrator: invalidate, Version, and TTL commands across instances (Static or ServiceDiscovery membership). |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0-beta.2 | 36 | 8/25/2026 |
| 3.0.0-beta.1 | 43 | 8/25/2026 |
CacheOrchestrator 3.0.0-beta.2
Beta 2 release of the completely redesigned v3 architecture, built around a new modular package ecosystem. This release separates the HTTP-free core orchestration from the ASP.NET host, introduces foundational support for both FusionCache and HybridCache providers, and is published for early integration testing and community feedback.
(Note for existing users: v3 is a full redesign and does not preserve API compatibility with 1.x or 2.x. Please see the Changelog before upgrading.)
Full notes: https://github.com/amarinsek/CacheOrchestrator/blob/main/CHANGELOG.md