Exemplo n.º 1
0
        public object GetObject(Type pluginType, Instance instance)
        {
            if (instance.IsUnique())
            {
                return(_resolver.BuildNewInSession(pluginType, instance));
            }

            int key = instance.InstanceKey(pluginType);

            if (!_cachedObjects.ContainsKey(key))
            {
                object o = _resolver.ResolveFromLifecycle(pluginType, instance);
                _cachedObjects[key] = o;

                return(o);
            }

            return(_cachedObjects[key]);
        }
Exemplo n.º 2
0
        public object GetObject(Type pluginType, Instance instance, ILifecycle lifecycle)
        {
            if (lifecycle is UniquePerRequestLifecycle)
            {
                return(_resolver.BuildNewInSession(pluginType, instance));
            }

            var key = instance.InstanceKey(pluginType);

            if (!_cachedObjects.ContainsKey(key))
            {
                var o = _resolver.ResolveFromLifecycle(pluginType, instance);
                _cachedObjects[key] = o;

                return(o);
            }

            return(_cachedObjects[key]);
        }