public virtual object Invoke(ServiceProvider provider) { object resolved; lock (provider._sync) { if (!provider._resolvedServices.TryGetValue(_key, out resolved)) { resolved = provider.CaptureDisposable(_serviceCallSite.Invoke(provider)); provider._resolvedServices.Add(_key, resolved); } } return(resolved); }
public object Invoke(ServiceProvider provider) { return(provider.CaptureDisposable(_service.Invoke(provider))); }