public void OnActivation(ResolvedServiceEntry entry, Activation activation) { foreach (IServiceContainerListener listener in _pluginManager.AllListeners) { listener.OnActivation(entry, activation); } }
public override void Deactivate(IResolutionServices services, object instance) { if (_activation == null) { throw new YouFoundABugException("You managed to re-release something?"); } _activation = null; base.Deactivate(services, instance); }
public void Remember(ResolvedServiceEntry entry, Activation activation) { activation.AssertIsFullyActivated(); if (_trackingPolicy.Remember(entry, activation) == TrackingStatus.New) { _listenerInvoker.OnActivation(entry, activation); entry.IncrementActiveInstances(); } }
public override Activation Activate(IResolutionServices services) { if (_activation == null) { Activation firstActivation = base.Activate(services); _activation = new Activation(firstActivation); return firstActivation; } return _activation; }
public override void OnActivation(ResolvedServiceEntry entry, Activation activation) { IDisposable disposable = activation.Instance as IDisposable; if (disposable == null) return; using (RWLock.AsReader(_lock)) { if (RWLock.UpgradeToWriterIf(_lock, () => { return !_disposables.Contains(disposable); })) { _disposables.Add(disposable); } } }
public StaticActivator(ServiceEntry entry, object instance) { _activation = new Activation(entry, instance, false); }
public virtual void OnActivation(ResolvedServiceEntry entry, Activation activation) { }
public Creation(ResolvedServiceEntry entry, Activation activation) { _entry = entry; _activation = activation; }
public void Add(ResolvedServiceEntry entry, Activation activation) { _creations.Add(new Creation(entry, activation)); }
public void OnActivation(ResolvedServiceEntry entry, Activation activation) { _creations.Add(entry, activation); }
public override void OnActivation(ResolvedServiceEntry entry, Activation activation) { }
public RememberedActivation(ResolvedServiceEntry resolvedEntry, Activation activation) { this.ResolvedEntry = resolvedEntry; this.Activation = activation; }
public Activation(Activation activation) : this(activation.Entry, activation.Instance, false) { }
public void Create_Always_ReturnsInstance() { Activation activation = new Activation(_entry, _instance); Assert.AreEqual(activation, _activator.Activate(Get<IResolutionServices>())); Assert.AreEqual(activation, _activator.Activate(Get<IResolutionServices>())); }