StaticCacheUtility 1.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package StaticCacheUtility --version 1.0.1
NuGet\Install-Package StaticCacheUtility -Version 1.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="StaticCacheUtility" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add StaticCacheUtility --version 1.0.1
#r "nuget: StaticCacheUtility, 1.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install StaticCacheUtility as a Cake Addin
#addin nuget:?package=StaticCacheUtility&version=1.0.1

// Install StaticCacheUtility as a Cake Tool
#tool nuget:?package=StaticCacheUtility&version=1.0.1

StaticCacheUtility

Usage examples:

static async Task Main()
{
    await Cache.Basic.Start();
    // ... run application with Cache.Dasic.Data always available
}
public static class Cache
{
    public static DataCache<BasicDataModel> Basic { get; } = new DataCache<BasicDataModel>(
        p_Settings: BasicDataLoader.Settings,
        p_LoadData: BasicDataLoader.LoadBasicData
    );
}
public static class BasicDataLoader
{
    public static DataCacheSettings Settings => new DataCacheSettings
    {
        DataModelVersionNr = 2, // When increased the current json model will not be accepted
        ReloadInterval = TimeSpan.FromMinutes(5),
        JsonMaxAge = TimeSpan.FromDays(1),
        LodingTimeout = TimeSpan.FromMinutes(30),
        JsonSavePath = $"{AppDomain.CurrentDomain.BaseDirectory}/cache-serialized-data/",
        LogError = MyLogger.LogError,
        LogStartup = MyLogger.LogMessage,
    };

    public static async Task<BasicDataModel> LoadBasicData()
    {
        BasicDataModel data = new();
        // ... async load lots of data
        return data;
    }
}

License

MIT

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.4 1,412 7/15/2022
1.0.3 400 5/20/2022
1.0.2 412 3/22/2022
1.0.1 246 12/7/2021
1.0.0 275 12/7/2021