什么相当于CastleWindsor的容器。请问LightInject?

时间:2015-05-29 14:36:52

标签: asp.net-web-api dependency-injection castle-windsor light-inject

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

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

CastleWindsor的容器相当于LightInject中的容器吗?

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

1 个答案:

答案 0 :(得分:2)

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请求结束时处理控制器。