<PackageReference Include="Castle.Windsor" Version="3.0.0.4001" />

ILifestyleManager

public interface ILifestyleManager : IDisposable
The ILifestyleManager implements a strategy for a given lifestyle, like singleton, per-thread and transient.
void Init(IComponentActivator componentActivator, IKernel kernel, ComponentModel model)

Initializes the ILifestyleManager with the IComponentActivator

bool Release(object instance)

Implementors should release the component instance based on the lifestyle semantic, for example, singleton components should not be released on a call for release, instead they should release them when disposed is invoked.

object Resolve(CreationContext context, IReleasePolicy releasePolicy)

Implementors should return the component instance based on the lifestyle semantic. Also the instance should be set to SetRootInstance, RequiresPolicyRelease should be also set if needed and if a new instance was created it should be passed on to Track of releasePolicy.