Esempio n. 1
0
        public T?CacheObjectIfCachingEnabledForKey <T>(ProjectId key, ICachedObjectOwner owner, T?instance) where T : class
        {
            lock (_gate)
            {
                if (owner.CachedObject == null && _activeCaches.TryGetValue(key, out var cache))
                {
                    owner.CachedObject = instance;
                    cache.CreateOwnerEntry(owner);
                }

                return(instance);
            }
        }
Esempio n. 2
0
 internal void CreateOwnerEntry(ICachedObjectOwner owner)
 {
     _ownerObjects.Add(new WeakReference <ICachedObjectOwner>(owner));
 }
 T IProjectCacheHostService.CacheObjectIfCachingEnabledForKey <T>(ProjectId key, ICachedObjectOwner owner, T instance)
 => instance;