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