asp.net-mvc – 如何使用统一依赖注入的Automapper?
|
我计划将Automapper与ASP.NET MVC解决方案和Unity DI一起使用.在 automapper上发布的关于如何使用的视频非常陈旧,并没有显示映射器如何与依赖注入一起使用. stackoverflow上的大多数示例也使用Mapper.CreateMap()方法,现在不推荐使用它. 自动化指南说
var config = new MapperConfiguration(cfg => cfg.CreateMap<Order,OrderDto>()); 所以我假设上面的代码行将进入应用程序启动,如global.asax 要执行映射,请使用CreateMapper方法创建IMapper. var mapper = config.CreateMapper(); OrderDto dto = mapper.Map<OrderDto>(order); 以上行将进入控制器.但是我不明白这个配置变量来自哪里?我如何在控制器中注入IMapper? 解决方法首先,创建一个MapperConfiguration,并从中创建一个IMapper,它具有如下所有类型的配置:var config = new MapperConfiguration(cfg =>
{
//Create all maps here
cfg.CreateMap<Order,OrderDto>();
cfg.CreateMap<MyHappyEntity,MyHappyEntityDto>();
//...
});
IMapper mapper = config.CreateMapper();
然后,使用统一容器注册映射器实例,如下所示: container.RegisterInstance(mapper); 然后,任何希望使用映射器的控制器(或服务)都可以在构造函数中声明这样的依赖关系,如下所示: public class MyHappyController
{
private readonly IMapper mapper;
public MyHappyController(IMapper mapper)
{
this.mapper = mapper;
}
//Use the mapper field in your methods
}
假设您使用MVC框架正确设置容器,控制器应该可以构造而不会出现问题. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 加快你的IIS
- asp.net-mvc – 同时发送文件并重定向到新页面的MVC方式是什
- asp.net-mvc-3 – 是否有自动方式在MVC中查找未使用的视图?
- asp.net – InvalidOperationException:在程序集上找不到“
- ASP.NET MVC模型绑定IList 参数
- asp.net-mvc-3 – 如何在Entity Framework中更新实体的导航
- asp.net – 自动将视频格式转换为Flash Video
- 在ASP.NET核心中间件中设置响应状态
- asp.net – 在IIS中将WebAPI添加为子/嵌套应用程序
- asp.net – 使用json仅序列化对象的一部分
- asp.net – 使用jquery调用ascx页面方法
- ASP.NET隐藏字段与不可见的文本框
- asp.net-mvc – 自定义授权MVC 3和Ninject IoC
- asp.net-mvc – asp.net MVC-3视频教程?
- asp.net – 在asp:Button中包装文本
- asp.net-mvc-3 – 绑定到MVC3中的DropDownList
- ASP.net WebAPI跨域调用问题的解决方法
- asp.net – 如何保护应用程序池免受会话序列化异
- asp.net-mvc – 清理MVC 3.0应用程序中抛出的所有
- asp.net-mvc-3 – Glimpse.axd 403ing在IIS上
