public async Task DeleteDocument <T>(string documentId) { var fullDocumentId = DocumentDbHelpers.GetFullDocumentId <T>(documentId); if (_cache.TryGetValue(fullDocumentId, out var document)) { _cache.Remove(fullDocumentId); } await _innerDocumentDbService.DeleteDocument <T>(documentId); }
public async Task <T> GetDocument <T>(string documentId) { T document; var fullDocumentId = DocumentDbHelpers.GetFullDocumentId <T>(documentId); if (!_cache.TryGetValue(fullDocumentId, out document)) { document = await _innerDocumentDbService.GetDocument <T>(documentId); if (document != null) { var cacheEntryOptions = new MemoryCacheEntryOptions() .SetSlidingExpiration(TimeSpan.FromSeconds(30)); _cache.Set(fullDocumentId, document, cacheEntryOptions); } } return(document); }