【发布时间】:2015-12-02 13:46:58
【问题描述】:
在 Web 或 Api 解决方案中处理诸如 Autofac 之类的 IOC 容器时,您会看到很多这样的实现代码:
protected void Application_Start()
{
///etc..
this.container = builder.Build();//returns IDisposable instance
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
//etc..
}
protected void Application_End()
{
container.Dispose();
}
看到在 Application_End 上容器被显式处理。
很好,但这真的有必要吗?
- 我们不是在谈论即将结束的 Web 应用程序吗? 案子?
- 当然,这意味着将为 ALL 调用 Dispose 未处置的物体仍在四处乱窜?
- 有什么正当理由吗 或者以这种方式显式调用 dispose 有什么好处?
【问题讨论】:
标签: c# asp.net-mvc asp.net-web-api autofac