Configuration 使用web.config在Autofac中注册工厂类
我一直在寻找一种在autofac中使用注册factory类的方法,但是文档似乎有点单薄 我想要完成的是在配置中执行以下操作:Configuration 使用web.config在Autofac中注册工厂类,configuration,autofac,Configuration,Autofac,我一直在寻找一种在autofac中使用注册factory类的方法,但是文档似乎有点单薄 我想要完成的是在配置中执行以下操作: builder.Register(c=>MyFactory.GetMyObject()).As() 有什么好方法可以做到这一点吗?Autofac最初是根据代码进行配置的,甚至是自动连接的 也许你要找的是或。这两个框架最初是为从XML配置而构建的,甚至是自动连接的。从代码中处理注册似乎比使用web.config有一些优势,因为这样更容易处理复杂的依赖关系 在下面的例子中,我
builder.Register(c=>MyFactory.GetMyObject()).As()代码>
有什么好方法可以做到这一点吗?Autofac最初是根据代码进行配置的,甚至是自动连接的
也许你要找的是或。这两个框架最初是为从XML配置而构建的,甚至是自动连接的。从代码中处理注册似乎比使用web.config有一些优势,因为这样更容易处理复杂的依赖关系
在下面的例子中,我唯一担心的是所有的注册都是在Global.asax中完成的。不过,通过将注册分离到一个单独的程序集,这很容易解决。实现这一点的方法是将注册封装到一个可以从XML注册的Autofac模块中。(此处介绍了模块:)
您的模块将类似于:
public class MyModule : Module
{
protected override void Load(ContainerBuilder builder)
{
builder.Register(c => MyFactory.GetMyObject()).As<IMyObject>();
}
}
公共类MyModule:Module
{
受保护的覆盖无效负载(ContainerBuilder builder)
{
Register(c=>MyFactory.GetMyObject()).As();
}
}
以及要注册它的XML:
<module type="MyModule" />