示例#1
0
 public void OnActivation(ResolvedServiceEntry entry, Activation activation)
 {
     foreach (IServiceContainerListener listener in _pluginManager.AllListeners)
       {
     listener.OnActivation(entry, activation);
       }
 }
示例#2
0
 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);
 }
示例#3
0
 public void Remember(ResolvedServiceEntry entry, Activation activation)
 {
     activation.AssertIsFullyActivated();
       if (_trackingPolicy.Remember(entry, activation) == TrackingStatus.New)
       {
     _listenerInvoker.OnActivation(entry, activation);
     entry.IncrementActiveInstances();
       }
 }
示例#4
0
 public override Activation Activate(IResolutionServices services)
 {
     if (_activation == null)
       {
     Activation firstActivation = base.Activate(services);
     _activation = new Activation(firstActivation);
     return firstActivation;
       }
       return _activation;
 }
示例#5
0
 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);
     }
       }
 }
示例#6
0
 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);
 }
示例#11
0
 public override void OnActivation(ResolvedServiceEntry entry, Activation activation)
 {
 }
示例#12
0
 public RememberedActivation(ResolvedServiceEntry resolvedEntry, Activation activation)
 {
     this.ResolvedEntry = resolvedEntry;
       this.Activation = activation;
 }
示例#13
0
 public Activation(Activation activation)
     : this(activation.Entry, activation.Instance, false)
 {
 }
示例#14
0
 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>()));
 }