Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="5.7.0-preview-775" />

 IResolutionScope

Represents a resolution scope.
object Name { get; }

The name of the scope, if it's null then it's a regular nameless scope.

The parent scope.

object AddDisposableTracking(object disposable)

Adds a service to dispose tracking.

object AddRequestContextAwareDisposableTracking(object disposable, IRequestContext requestContext)

Adds a service to dispose tracking.

object AddWithAsyncInitializer(object initializable, Func<object, IDependencyResolver, CancellationToken, Task> initializer)

Adds a service with an async initializer delegate.

object AddWithFinalizer(object finalizable, Action<object> finalizer)

Adds a service with a cleanup delegate.

Gets the names of the already opened scopes.

object GetOrAddScopedObject(int key, Func<IResolutionScope, IRequestContext, object> factory, IRequestContext requestContext, Type serviceType)

Returns an existing scoped object or adds it into the scope if it doesn't exist.

Invalidates the delegate cache.