<PackageReference Include="Polly" Version="8.1.0" />

NonSlidingTtl

public abstract class NonSlidingTtl : ITtlStrategy, ITtlStrategy<object>
using Polly.Utilities; using System; using System.Runtime.CompilerServices; namespace Polly.Caching { public abstract class NonSlidingTtl : ITtlStrategy, ITtlStrategy<object> { protected readonly DateTimeOffset absoluteExpirationTime; protected NonSlidingTtl(DateTimeOffset absoluteExpirationTime) { this.absoluteExpirationTime = absoluteExpirationTime; } [System.Runtime.CompilerServices.NullableContext(1)] public Ttl GetTtl(Context context, [System.Runtime.CompilerServices.Nullable(2)] object result) { TimeSpan timeSpan = absoluteExpirationTime.Subtract(SystemClock.DateTimeOffsetUtcNow()); return new Ttl((timeSpan > TimeSpan.Zero) ? timeSpan : TimeSpan.Zero, false); } } }