使用Autofac动态加载提供程序

时间:2011-06-25 08:12:08

标签: ioc-container autofac provider

我在项目中使用Autofac

我有不同类型的提供程序,如数据或日志记录等。这些提供程序在web.config部分中设置,我有每个部分的默认提供程序。所以我的问题是如何使用autofac加载我的提供程序dynamic.shoud我重构并更改了我的提供程序实现吗?

1 个答案:

答案 0 :(得分:1)

提供者模式实际上是一个专注的IoC实现。因为它有自己的外观和配置模型,所以很难通过Autofac或任何其他DI容器来控制生活方式。

您可以做和应该做的是阻止应用程序直接调用提供程序的外观(例如ASP.NET成员资格提供程序模型的静态Membership类)。而是在Autofac中注册提供程序(即成员模型的MembershipProvider基类)并将其注入应用程序。例如:

builder.Register<MembershipProvider>(c => Membership.Provider);