【发布时间】:2019-09-26 13:10:47
【问题描述】:
我遇到了几个问题,但无法正确解决。
在尝试使用 AutoMapper 7.0 时,我收到了 Mapper not initialized 异常 - 尽管我认为我的问题与 AutoMapper 无关,而是与我尝试将服务注册到 WCF 的方式有关。
我关注了this 文章并为我的 AutoMapper 创建了一个 ServiceBehavior:
public sealed class AutomapServiceBehavior : Attribute, IServiceBehavior
{
public AutomapServiceBehavior()
{
}
public void AddBindingParameters(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase,
Collection<ServiceEndpoint> endpoints, BindingParameterCollection bindingParameters)
{
AutomapBootstrap.InitializeMap();
}
public void ApplyDispatchBehavior(ServiceDescription serviceDescription, System.ServiceModel.ServiceHostBase serviceHostBase)
{
}
public void Validate(ServiceDescription serviceDescription, System.ServiceModel.ServiceHostBase serviceHostBase)
{
}
}
然后在 AutomapBootstrap.InitializeMap() 中添加断点(如下所示):
public class AutomapBootstrap
{
public static void InitializeMap()
{
//BREAKPOINT ADDED HERE
var config = new MapperConfiguration(cfg =>
cfg.CreateMap<ClassA, ClassB>()
);
var mapper = new Mapper(config);
}
}
我认为应用程序应该在启动期间停止在我的断点处,但事实并非如此。我错过了什么?
【问题讨论】:
-
AutomapServiceBehavior 构造函数是否运行?
标签: wcf automapper