private Task <T> AddOrGetExistingAsync <T>(string key, Func <Task <T> > func)
 {
     return(cache.AddOrGetExistingAsync(key, func, DateTimeOffset.UtcNow.Add(duration), CacheRegion));
 }
Esempio n. 2
0
 public Task <PageType> Get(string id)
 {
     return(_cache.AddOrGetExistingAsync(id, s => _pageTypeRepository.GetAsync(s)));
 }
 public async Task <AuthorizationReason> IsAuthorizedAsync(string resource, string action, IPrincipal principal, IDictionary <string, object> values = null, CancellationToken token = default(CancellationToken))
 {
     // TODO: Use AuthorizationReason.Expiry to influence cache duration
     return(await cache.AddOrGetExistingAsync(Key(resource, action, principal, values), async() => await authorizer.IsAuthorizedAsync(resource, action, principal, values, token).ConfigureAwait(false), DateTimeOffset.UtcNow.Add(duration), "authorizer").ConfigureAwait(false));
 }