var cacheExpirationOptions = new MemoryCacheEntryOptions
{
AbsoluteExpiration = DateTime.Now.AddMinutes(5),
Priority = CacheItemPriority.Normal,
};
_memoryCache.Set(fakeTransactionId, transaction.Id,
cacheExpirationOptions.RegisterPostEvictionCallback((key, value, reason, state) = > {
TransactionStatusUpdate(transaction.Id, TransactionStatusType.UrlExpired);
}));
I want to update the process when the default process expires, what should I do?
var expirationTime = DateTime.Now.AddMinutes(30);
var expirationToken = new CancellationChangeToken(
new CancellationTokenSource(TimeSpan.FromMinutes(31)).Token);
var cacheEntryOptions = new MemoryCacheEntryOptions()
.SetPriority(CacheItemPriority.NeverRemove)
.SetAbsoluteExpiration(expirationTime)
.AddExpirationToken(expirationToken)
.RegisterPostEvictionCallback(callback: EvictionCallback, state: this);
_memoryCache.Set(fakeTransactionId, transaction.Id, cacheEntryOptions);
I found, when expirationTime finish EvictionCallback triggering.