我一直在寻找一种使用 XmlConfiguration 在 autofac 中注册工厂类的方法但文档似乎有点单薄。
我想要完成的是在我的配置中执行以下操作:
builder.Register(c => MyFactory.GetMyObject()).As<IMyObject>();
有什么好的方法吗?
最佳答案
这样做的方法是将您的注册封装到一个 Autofac 模块中,该模块可以从 XML 中注册。 (模块在这里描述:http://code.google.com/p/autofac/wiki/StructuringWithModules)
你的模块看起来像这样:
public class MyModule : Module
{
protected override void Load(ContainerBuilder builder)
{
builder.Register(c => MyFactory.GetMyObject()).As<IMyObject>();
}
}
以及用于注册它的 XML:
<module type="MyModule" />
关于configuration - 使用 web.config 在 Autofac 中注册工厂类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1075118/