AutoMapper IValueResolver:无法访问已处置的对象。对象名称:“ IServiceProvider”

问题描述 投票:0回答:1

我想在AutoMapper中使用IValueResolver映射两个类,而一个值将从HttpRequest上下文中获取,所以我想使用IValueResolver

CreateMap<Dto, ViewModel>().ForMember(x=>x.MemberID, opt=>opt.Mapfrom<SpecialResolver>())

并且解析器很简单

public string Resolve(ViewModel viewModel, Dto dto, string destMember, ResolutionContext context)
{
  return "test";
}

在启动类中,我把这个放在了:

services.AddAutoMapper(typeof(Startup));

但是每次我将它们映射为MemberID时都会抛出错误,说IServiceProvider已被处置。那么如何使这些工作呢?我尝试在启动时注入此SpecialResolver,但也无法正常工作。顺便说一句,我正在使用.net core 3.0

asp.net-core-mvc automapper
1个回答
0
投票

我坚信,错误已潜入您的代码中,从而造成了您的问题。在我这边,一切正常。根据您的问题和评论,我尝试将您的工作保密。它肯定会或多或少地有所不同,但是您应该能够掌握这个想法并使它自己进行。

© www.soinside.com 2019 - 2024. All rights reserved.