Ejemplo n.º 1
0
        public object Get(object owner, string key)
        {
            key = ValidateKey(key);
            ResourceReferenceInfo resourceInfo = null;

            if (_assets.TryGetValue(key, out resourceInfo))
            {
                if (!resourceInfo.ContainsOwner(owner))
                {
                    resourceInfo.AddOwner(owner);
                }

                return(resourceInfo.Resource);
            }

            throw new ResourceMemoryCacheException(string.Format("Missing resource in cach. Resource name: {0}", key));
        }
Ejemplo n.º 2
0
        public void Add(object owner, string key, object resource)
        {
            key = ValidateKey(key);
            ResourceReferenceInfo resourceReference;

            if (_assets.TryGetValue(key, out resourceReference))
            {
                if (!resourceReference.ContainsOwner(owner))
                {
                    resourceReference.AddOwner(owner);
                }
            }
            else
            {
                resourceReference = new ResourceReferenceInfo(resource);
                resourceReference.AddOwner(owner);
                _assets.Add(key, resourceReference);
            }
        }