Table of Contents

CacheInvalidation Class

Definition

Namespace
Cuemon.Runtime.Caching
Assemblies
Cuemon.Runtime.Caching.dll
Source
src/Cuemon.Runtime.Caching/CacheInvalidation.cs

Represents a set of eviction and expiration details for a specific cache entry.

public class CacheInvalidation
Inheritance
CacheInvalidation

Examples

The following example demonstrates how to use to define eviction policies for cache entries.

using System;
using Cuemon.Runtime.Caching; // for CacheInvalidation

namespace MyApp.Examples;

public class CacheInvalidationExample
{
    public void Demonstrate()
    {
        // Absolute expiration at a specific UTC time
        var absolute = new CacheInvalidation(new DateTime(2025, 12, 31, 23, 59, 59, DateTimeKind.Utc));
        Console.WriteLine(absolute.UseAbsoluteExpiration); // True
        Console.WriteLine(absolute.AbsoluteExpiration);    // 12/31/2025 23:59:59
        Console.WriteLine(absolute.UseSlidingExpiration);  // False
        Console.WriteLine(absolute.UseDependency);         // False

        // Sliding expiration (entry expires after 30 minutes of inactivity)
        var sliding = new CacheInvalidation(TimeSpan.FromMinutes(30));
        Console.WriteLine(sliding.UseSlidingExpiration); // True
        Console.WriteLine(sliding.SlidingExpiration);    // 00:30:00
        Console.WriteLine(sliding.UseAbsoluteExpiration); // False

}
}

Constructors

Name Description
CacheInvalidation(IEnumerable<IDependency>)

Initializes a new instance of the CacheInvalidation class.

CacheInvalidation(DateTime)

Initializes a new instance of the CacheInvalidation class.

CacheInvalidation(TimeSpan)

Initializes a new instance of the CacheInvalidation class.

Properties

Name Description
AbsoluteExpiration

Gets the UTC absolute expiration date time value of a CacheEntry.

Dependencies

Gets a sequence of objects implementing the IDependency interface assigned to a CacheEntry.

SlidingExpiration

Gets the sliding expiration time of a CacheEntry.

UseAbsoluteExpiration

Gets a value indicating whether a CacheEntry should use AbsoluteExpiration property for cache invalidation.

UseDependency

Gets a value indicating whether this CacheEntry is relying on an IDependency implementation for cache invalidation.

UseSlidingExpiration

Gets a value indicating whether a CacheEntry should use SlidingExpiration property for cache invalidation.