.net – Autofac和IDisposable界面
假设我有以下接口和类:
public interface IFooRepo : IDisposable { //... } public FooRepo : IFooRepo { //Methods here //Properly implement the IDisposbale.Dispose() here } 我在应用程序中使用Autofac作为IoC容器,如果我注册如下,我可以确定它会妥善处理吗? private static IContainer RegisterServices(ContainerBuilder builder) { builder.RegisterType<FooService>().As<IFooService>(); return builder.Build(); } 或者我应该采取进一步的步骤,取决于我正在使用的应用程序类型. (在这种情况下,我使用ASP.NET MVC,但我正在考虑在WCF Web API项目和类库中使用autofac) 解决方法
自动填充调用在其父生命周期范围结束之后,为实现IDisposable的所有组件实例进行处理.你不需要在这里做任何额外的工作.
要熟悉Autofac提供的用于管理生命周期范围的选项,请遵循@ dotnetstep的链接. 管理生命周期范围是一种取决于您的具体应用程序的策略,不仅仅是其类型(MVC或简单ASP.NET或其他).由Autofac的创始人This article about lifetimes给出了这个话题的深入解释. 对于MVC3项目,我建议您遵循MVC3 integration guidelines.这将使所有单独的HTTP请求都为其创建单独的生命周期范围. HTTP请求完成后,Autofac将完成关联的生命周期范围,并处理在该范围内创建的所有可用资源. 通过遵循corresponding guidelines,对ASP.NET WebForms项目可以实现相同的效果 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – ‘WebForm_DoPostBackWithOptions’在IE11预览中
- asp.net – GridView AutoGenerateColumns和排序
- asp.net – 是否可以通过Windows服务中的自托管Web API提供
- asp.net-mvc – ASP.NET MVC检查Controller或Action中的自定
- asp.net – IIS7.5中x64进程的内存限制
- asp.net-mvc-4 – IE 10 Windows身份验证中的异步KendoUI上
- asp.net-mvc-3 – ASP.MVC3 ModelState.IsValid不包括Remot
- asp.net – .NET身份电子邮件/用户名更改
- asp.net-web-api – Azure AD / B2C用户的安全API
- asp.net – 如何为我的网络应用程序获取类似Gmail的文件上传
- asp.net – Text 4.5中的文本.NET 4.5中的Time属
- asp.net-mvc – 使用单元测试在asp.net mvc中验证
- asp.net-mvc – 在ASP.Net MVC视图中显示/隐藏链
- asp.net – Page_Init vs OnInit
- asp.net-mvc – asp.net mvc – 需要存储当前请求
- asp.net – 使用Google货币转换API时,输入字符串
- asp.net-mvc – ASP.NET MVC2成员:如何获取已登
- Windbg程序调试系列2-内存泄露问题
- asp.net-mvc – 在MVC4中路由具有扩展名的url将无
- .net – 程序集Z中类型Y的方法X没有实现