asp.net-core – 如何在AutoMapper配置文件类中注入服务
发布时间:2020-12-16 03:42:42 所属栏目:asp.Net 来源:网络整理
导读:我需要在ASP.NET Core中的AutoMapper配置文件类中使用服务层,但是当我在构造函数中注入服务时它不起作用.例如: public class UserProfile : Profile{ private readonly IUserManager _userManager; public UserProfile(IUserManager userManager) { _userMa
我需要在ASP.NET Core中的AutoMapper配置文件类中使用服务层,但是当我在构造函数中注入服务时它不起作用.例如:
public class UserProfile : Profile { private readonly IUserManager _userManager; public UserProfile(IUserManager userManager) { _userManager = userManager; CreateMap<User,UserViewModel>() .ForMember(dest => dest.FullName,opt => opt.MapFrom(src => $"{src.FirstName} {src.LastName}")); } } 在启动类中: public class Startup { public IConfigurationRoot Configuration { set; get; } public Startup(IHostingEnvironment env) { //some code } public void ConfigureServices(IServiceCollection services) { services.AddSingleton<IActionContextAccessor,ActionContextAccessor>(); services.AddMvc(); services.AddScoped<IUsersPhotoService,UsersPhotoService>(); services.AddAutoMapper(typeof(UserProfile)); } } 怎么做? 解决方法
要解决您的问题,您只需要在DI中连接IUserManager,并确保解决了UserProfile依赖关系.
public void ConfigureServices(IServiceCollection services) { // ... services.AddSingleton<IUserManager,UserManager>(); services.AddSingleton(provider => new MapperConfiguration(cfg => { cfg.AddProfile(new UserProfile(provider.GetService<IUserManager>())); }).CreateMapper()); } 说到这一点,我可能会尝试保持每个类的单一责任,而不是将任何服务注入到映射配置文件中.您可以在映射之前填充对象.这样,单元测试也可能更容易. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET本地化
- asp.net-web-api – 找不到Web API路由404
- asp.net – 如何指向每晚软件包源的早期版本? (AspNet Cor
- asp.net-mvc – 依赖注入和ASP.Net成员提供程序
- asp.net – 为本地化设置TemplateField HeaderText动态
- asp.net mvc.显示数据库中的html字符串
- asp.net-mvc-3 – MVC3显示日期短时间没有格式字符串
- asp.net-mvc – 在运行时ASP.NET捆绑和缩小有什么好处?
- asp.net-mvc-3 – 我可以在App_Code之外使用全局剃须刀@hel
- 按代码更改ASP.NET成员资格提供程序
推荐文章
站长推荐
- 如何配置asp.net进程在域帐户下运行?
- asp.net-mvc – 模型绑定不起作用
- asp.net – 此版本的SQL Server不支持用户实例登
- asp.net – 部分查看并将数据传递给布局MVC3
- asp.net – 如何使用JwtSecurityTokenHandler和J
- asp.net-web-api – 在LINQPad中使用WebAPI?
- asp.net – 尝试通过IP地址保护文件夹中的所有as
- asp.net-mvc – UpdateModel和TryUpdateModel
- asp.net-mvc-3 – 实体框架:ViewModel到域模型
- asp.net-mvc – 什么是Owin rememberBrowser做什
热点阅读