有谁知道使用 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 实例,但我不确定如何处理?