.NET Framework 4.8中Automapper ProjectTo方法阻塞问题求助
Automapper ProjectTo方法随机阻塞耗时问题
我们的Web应用基于.NET Framework 4.8,使用Automapper 10.1.1版本,近期遇到一个奇怪的问题:线上环境会随机出现响应时间延长、线程数量激增的情况,但本地无法复现(怀疑是负载触发)。这段映射逻辑之前一直运行正常,且从未改动过。
性能分析器显示的耗时情况如下:
涉及的映射逻辑很简单:
items = context.Extras .Where(r => ...) .ProjectTo<ExtraDTO>(mapper.ConfigurationProvider, x => x.VehicleExtra) .ToList();
对应的映射配置:
CreateMap<Extra, ExtraDTO>() .ForMember(dest => dest.VehicleRental, opt => opt.Ignore()) .ForMember(dest => dest.VehicleExtra, opt => opt.ExplicitExpansion());
另外注意到,出现问题的请求中这段代码会被循环调用约100次。我们知道应该重构为单次调用,但之前这么运行一直没问题。
请问可能是什么原因导致的?我们使用Automapper已有一段时间,此前从未遇到过此类问题。
内容的提问来源于stack exchange,提问作者Nemanja Todorovic
相关产品推荐
相关产品推荐

