public async Task <T> ResolveAsync <T>(string id) where T : IDatabaseModelBase { return(await _cacheProvider.GetOrCreateAsync <T>( objectId : CacheHelper.CreateKey <T>(id), create : () => _cacheProvider.GetObjectAsync <T>(id), expiry : TimeSpan.FromDays(7))); }
public async Task <TUser> FindByIdAsync(string userId) { ThrowIfDisposed(); if (userId == null) { throw new ArgumentNullException("userId"); } //todo : allow to turn and off memory cache var result = await _cacheProvider.GetOrCreateAsync <TUser>(CacheHelper.CreateKey <TUser>(userId), async() => { return((await GetUsers(user => user.Id == userId)).FirstOrDefault()); }) as TUser; return(result); }