【发布时间】:2013-01-30 23:10:30
【问题描述】:
有谁知道使用 Autofac 设置 Automapper 的综合指南。我对这两者都很陌生,但我已经玩过静态 Mapper 类,但是我希望能够模拟和注入 IMappingEngine 并创建一个配置来设置我的所有映射。到目前为止,我看过的所有指南都没有真正解释发生了什么,我也无法弄清楚。另外我正在使用 Autofac 3.0,它似乎在 ContainerBuilder 方法中存在一些差异,这无济于事(我使用它的原因是 Autofac.mvc4 依赖于它)。
更新:
好的,最简单的解决方案似乎运行良好,但是我在互联网上的任何地方都没有看到它,这可能是我不知道的一个很好的理由?最简单的做法就是将静态 Mapper.Engine 注册为 IMappingEngine 并仍然使用静态 Mapper.CreateMap 进行配置。
var builder = new ContainerBuilder();
builder.Register<IMappingEngine>(c => Mapper.Engine);
现在 Autofac 可以将 IMappingEngine 注入到您的构造函数中。这确实意味着 Mapper 将处理 IMappingEngine 单例而不是 Autofac,而 Autofac 只是充当它的包装器。我希望 Autofac 处理 IMappingEngine 实例,但我不确定如何处理?
【问题讨论】:
-
你试过什么?你读过Jimmy's IoC article,或者看过similar questions,或者读过任何blog posts,或者看过AutoMapper mailing list吗?如果您让我们知道您遇到的困难,我们或许可以提供帮助。
标签: automapper autofac