示例#1
0
        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);
        }
示例#2
0
文件: Cache.cs 项目: elanwu123/dnx
        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;
        }