MVCCaching.Base.Core
4.5.0
dotnet add package MVCCaching.Base.Core --version 4.5.0
NuGet\Install-Package MVCCaching.Base.Core -Version 4.5.0
<PackageReference Include="MVCCaching.Base.Core" Version="4.5.0" />
paket add MVCCaching.Base.Core --version 4.5.0
#r "nuget: MVCCaching.Base.Core, 4.5.0"
// Install MVCCaching.Base.Core as a Cake Addin #addin nuget:?package=MVCCaching.Base.Core&version=4.5.0 // Install MVCCaching.Base.Core as a Cake Tool #tool nuget:?package=MVCCaching.Base.Core&version=4.5.0
MVCCaching Base and Components
This readme is specifically for the Platform Agnostic MVCCaching packages. If you are using this for Xperience by Kentico, or Kentico Xperience 13, please see those specific readmes.
Concept
I believe caching should be a common optimization practice. Caching, at it's core, consists of these core elements:
- What to cache (the object)
- What is that cached call's unique identifier (it's Name)
- How long should something be cached (it's Duration)
- What triggers should clear the cache prematurely (it's Dependencies)
Along with that, there may be things that caches often need to know:
- Language
- If caching should be disabled (IE Preview mode)
Lastly, in terms of usage of the <cache>
tag within ASP.Net Core MVC, you also often need:
- Cache Dependencies for the
<cache>
tag - Cache Scope (to determine the dependencies called within the scope that should pass to the cache tag's dependencies)
- Cache Store (a way to store dependencies as they are generated)
The Tool
MVCCaching.Base.Core
Provides interfaces, extension methods and helpers to accomplish these concepts. These do not, however, actually implement them, as that varies.
MVCCaching.Base.Core.Components
also provides Tag Helpers that extend the <cache>
tag, and add the <cache-dependency-keys>
child tag to allow passing of those dependencies.
Additionally, although not caching related, Dependency Injection automation is also something often employed and is included.
Extending
These packages have implementations in Kentico Xperience 13 and Xperience by Kentico, however there is nothing preventing implementations to be written for other platforms, or just MVC itself (using memory cache for example).
If you wish to use these base items and write other implementations, feel free to fork and make a pull request!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Extensions.Primitives (>= 3.1.8)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on MVCCaching.Base.Core:
Package | Downloads |
---|---|
XperienceCommunity.Baseline.Core.Models
The Baseline a set of Core Systems, Tools, and Structure to ensure a superior Kentico Website that's easy to migrate, for Kentico Xperience 13 and eventually Xperience by Kentico |
|
MVCCaching.Kentico.Core
MVC Caching for Kentico Xperience 13 MVC.Net Core, provides attribute level caching and dependency injecting for IRepository and IService. Also provides ICacheDependenciesScope to track Dependencies and retrieve them and ICacheDependenciesStore to store them (all MVCCaching attributed dependencies automatically added to ICacheDependenciesStore). While these can be used manually with any Kentico Xperience 13 version, it is primarily created for KX 13 Refresh 1 and above (Hotfix 16+) |
|
XperienceCommunity.MVCCaching
Caching interfaces and extensions for Kentico Xperience .net 5.0 MVC Sites |
|
MVCCaching.Base.Core.Components
Tag Helper Components used with MVCCaching.Base.Core. This one is built for .net 8.0 |
|
XperienceCommunity.DevTools.MVCCaching
Adjusted Get Default Language to fall back to Content Default Language. Changed ICachingReferenceService to ICacheReferenceService to fit other ICache motif. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
4.5.0 | 177 | 10/4/2024 |
4.4.0 | 10,788 | 10/26/2023 |
4.3.0 | 292 | 10/26/2023 |
4.2.0 | 9,316 | 6/30/2023 |
4.1.0 | 309 | 6/30/2023 |
4.0.2 | 848 | 6/30/2023 |
4.0.1 | 384 | 6/30/2023 |
4.0.0 | 5,012 | 5/22/2023 |
3.0.2 | 5,361 | 11/22/2022 |
3.0.1 | 734 | 10/25/2022 |
3.0.0-beta | 376 | 10/24/2022 |
3.0.0-alpha | 345 | 10/24/2022 |
2.1.1 | 28,541 | 3/12/2021 |
2.0.0 | 2,662 | 10/5/2020 |
Made the ICacheRepository inherit from ICacheKey so the normal .ToCacheNameIdentifier() would work properly.