public void Should_add_item_to_cache_when_context_exists() { SetupContext(); sut.Add("Key", 1); var found = sut.TryGetValue("Key", out var value); Assert.True(found); Assert.Equal(1, value); sut.Remove("Key"); var foundAfterRemove = sut.TryGetValue("Key", out value); Assert.False(foundAfterRemove); Assert.Null(value); }
public static T GetOrCreate <T>(this IRequestCache cache, object key, Func <T> task) { if (cache.TryGetValue(key, out var value) && value is T typedValue) { return(typedValue); } typedValue = task(); cache.Add(key, typedValue); return(typedValue); }
public Task <AccountDetail?> GetDetailAsync(string?accountId) { return(DataSvcInvoker.Current.InvokeAsync(this, async() => { var __key = new UniqueKey(accountId); if (_cache.TryGetValue(__key, out AccountDetail? __val)) { return __val; } var __result = await _data.GetDetailAsync(accountId).ConfigureAwait(false); _cache.SetValue(__key, __result); return __result; }));
public Task <TripPerson?> GetAsync(string?id) { return(DataSvcInvoker.Current.InvokeAsync(this, async() => { var __key = new UniqueKey(id); if (_cache.TryGetValue(__key, out TripPerson? __val)) { return __val; } var __result = await _data.GetAsync(id).ConfigureAwait(false); _cache.SetValue(__key, __result); return __result; }));
public Task <Contact?> GetAsync(Guid id) { return(DataSvcInvoker.Current.InvokeAsync(typeof(ContactDataSvc), async() => { var __key = new UniqueKey(id); if (_cache.TryGetValue(__key, out Contact __val)) { return __val; } var __result = await _data.GetAsync(id).ConfigureAwait(false); _cache.SetValue(__key, __result !); return __result; }));
public Task <PerformanceReview?> GetAsync(Guid id) { return(DataSvcInvoker.Current.InvokeAsync(this, async() => { var __key = new UniqueKey(id); if (_cache.TryGetValue(__key, out PerformanceReview? __val)) { return __val; } var __result = await _data.GetAsync(id).ConfigureAwait(false); _cache.SetValue(__key, __result); return __result; }));
public Task <Person?> GetAsync(Guid id) { return(DataSvcInvoker.Current.InvokeAsync(this, async() => { var __key = new UniqueKey(id); if (_cache.TryGetValue(__key, out Person? __val)) { return __val; } var __result = await _data.GetAsync(id).ConfigureAwait(false); _cache.SetValue(__key, __result); if (_getOnAfterAsync != null) { await _getOnAfterAsync(__result, id).ConfigureAwait(false); } return __result; }));