LightInject 中 CastleWindsor 的 container.Release 相当于什么?

What's the equivalent of CastleWindsor's container.Release in LightInject?

我在 Seemann 的网站上看到 ASP.NET Web API 依赖注入。它虽然使用 CastleWindsor。

request.RegisterForDispose(
            new Release(
                () => this.container.Release(controller)));

LightInject 中 CastleWindsor 的 container.Release 相当于什么?

http://blog.ploeh.dk/2012/10/03/DependencyInjectioninASP.NETWebAPIwithCastleWindsor/

LightInject 中并没有真正的Release 方法。一次性服务在 PerScopeLifetime 或 PerRequestLifetime 中注册。

这些服务在周围的作用域被释放时被释放。

container.Register<IFoo, DisposableFoo>(new PerScopeLifetime())

using(container.BeginScope())
{
    var foo = container.GetInstance<IFoo>()
} -- foo is disposed here

LightInject.WebApi 为 Web Api 提供集成,负责在 Web 请求结束时处理控制器。