public async Task UpdateEntryAsync(CacheContent content) { var entry = content.CacheEntry; InMemoryCacheEntry inMemoryCacheEntry = null; if (!_responseCache.ContainsKey(entry.Key)) { inMemoryCacheEntry = new InMemoryCacheEntry(entry); lock (syncRoot) { _responseCache[entry.Key] = inMemoryCacheEntry; } } else { inMemoryCacheEntry = _responseCache[entry.Key]; } var newContent = await CloneAsync(content); lock (syncRoot) { inMemoryCacheEntry.Responses[content.Key] = newContent; } }