public Task <bool> Add(TicketCacheEntry entry) { bool added = false; var cacheEntry = new CacheEntry(cache, entry.Computed, entry.Value, logger); if (cache.TryAdd(cacheEntry.Key, cacheEntry)) { var lifetime = entry.Expires - DateTimeOffset.UtcNow; if (lifetime > TimeSpan.Zero) { cacheEntry.BeginTriggerDelay(lifetime, cancel.Token); added = true; } } return(Task.FromResult(added)); }