缓存过期时如何更新事务状态?

How can I update the transactions status when cache expire?

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);
    }));

我想在默认进程过期时更新进程,怎么办?

        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);

我发现,当 expirationTime 完成 EvictionCallback 触发。