private CacheEntry CreateEntry(object k, Func <CacheContext, object> acquire) { var entry = new CacheEntry(); var context = new CacheContext(k, entry.AddCacheDependency); CacheContext parentContext = null; try { // Push context parentContext = _accessor.Current; _accessor.Current = context; entry.Result = acquire(context); } finally { // Pop context _accessor.Current = parentContext; } // Logger.TraceInformation("[{0}]: Cache miss for {1}", GetType().Name, k); entry.CompactCacheDependencies(); return(entry); }
private CacheEntry CreateEntry(object k, Func<CacheContext, object> acquire) { var entry = new CacheEntry(); var context = new CacheContext(k, entry.AddCacheDependency); CacheContext parentContext = null; try { // Push context parentContext = _accessor.Current; _accessor.Current = context; entry.Result = acquire(context); } finally { // Pop context _accessor.Current = parentContext; } // Logger.TraceInformation("[{0}]: Cache miss for {1}", GetType().Name, k); entry.CompactCacheDependencies(); return entry; }