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]); }
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]); }