tug*_*erk 14 .net asp.net-mvc autofac asp.net-mvc-3 wcf-web-api
假设我有以下接口和类:
public interface IFooRepo : IDisposable {
//...
}
public FooRepo : IFooRepo {
//Methods here
//Properly implement the IDisposbale.Dispose() here
}
Run Code Online (Sandbox Code Playgroud)
我在我的应用程序中使用Autofac作为IoC容器,如果我将其注册如下,我可以确定它会正确处理吗?
private static IContainer RegisterServices(ContainerBuilder builder) {
builder.RegisterType<FooService>().As<IFooService>();
return
builder.Build();
}
Run Code Online (Sandbox Code Playgroud)
或者我应该采取进一步的步骤,具体取决于我使用的应用程序类型.(在这种情况下,我使用ASP.NET MVC,但我正在考虑在WCF Web API项目和类库中使用autofac)
Pav*_*lov 14
一旦其父生命周期范围结束,Autofac将调用Dispose
所有组件实例IDisposable
.您无需在此处执行任何其他工作.
要熟悉Autofac提供的用于管理生命周期范围的选项,请关注@ dotnetstep的链接.
管理生命周期范围是一种策略,它取决于您的特定应用程序,而不仅仅是其类型(MVC或普通ASP.NET或其他).这篇关于 Autofac创作者的生命周期的文章给出了对该主题的深刻解释.
至于MVC3项目,我建议你遵循MVC3集成指南.这将使所有单个HTTP请求都具有为其创建的单独生命周期范围.HTTP请求完成后,Autofac将完成关联的生命周期范围并处置在该范围内创建的所有可用资源.
遵循相应的准则,可以为ASP.NET WebForms项目实现相同的效果
归档时间: |
|
查看次数: |
6872 次 |
最近记录: |