2015-04-20 2 views
0

Я получаю ошибку конфигурации конфигурации отсутствующего типа, когда я звоню Mapper.Map(object,object); Вот моя текущая настройка.Отсутствует конфигурация карты типа или неподдерживаемое отображение.

Global.asax.cs - Calling

AutoMapperAppSvcConfiguration.Configure(); 

Configuration.cs -

Mapper.Initialize(cfg => 
      { 
      cfg.AddProfile(new ExportProfile()); 
      }); 

    public class ExportProfile : Profile 
    { 
     protected override void Configure() 
     { 
      Mapper.CreateMap<JobDTO,JobSpec>(); 
     } 

импорта файла Задача:

var JobDTOSpec = new class JobDTO(); 
    // Fill in JobDTOSpec object with appropriate fields. 
    JobDTOSpec.property1 = "hello"; 

..... more properties. 
// JobDTO and JobSpec class are identical as well. 

    var JobSpec = AutoMapper.Mapper.Map(JobDTO, new JobSpec()); <-- Error occurs. 

Эта ошибка не возникает на каждой работе задачи (Вызов службы WCF). В настоящее время мы запускаем 100-ю задачу. Картирование работает отлично в течение первых 30 минут или около того. После этого мы начали получать ошибку конфигурации Mapping. Мой вопрос: есть ли способ Automapper потерять свою память, потому что сервер (iis) перегружается из тысяч заданий и искажает сопоставление (мы использовали нашу службу WCF около 2 ГБ памяти в IIS). Существует ли какой-либо предел после определенных вызовов. Сопоставление сбрасывает его картографическую память и, в среднем, если сервер получит вызов, не распознает ли он/не запоминает типы сопоставления ?. Что еще может вызвать эту ошибку при проблемах с памятью или при большой нагрузке на сервер.

ответ

0

Убедитесь, что вы вызываете base.CreateMap, а не Mapper.CreateMap в свой класс Profile.

+0

Я попробую. Не могли бы вы рассказать мне о различиях между ними? –

+0

CreateMap связывает конфигурацию карты с профилем. Что еще более важно, вокруг профилей происходит некоторая блокировка, которая, когда вы делаете Mapper.CreateMap, уже не потокобезопасна. –

Смежные вопросы

 Смежные вопросы