2015-11-10 2 views
3

Я занимаюсь статистикой производительности в приложении ASP.NET 4.5 Webforms, которое кажется немного вялым при первоначальном запуске после нового развертывания.Lazily initializing AutoMapper

Один из моментов, которые я заметил, заключается в том, что создание карт AutoMapper занимает некоторое время.

Поскольку эти карты используются довольно редко, мне было интересно, могу ли я «задержать» создание этих карт до тех пор, пока они не понадобятся - вроде «ленивой инициализации».

В этом случае я должен был бы иметь некоторый «неразрушающий» (например, без исключения) способ проверки наличия или отсутствия данной карты - если в AutoMapper есть что-то подобное?

Спасибо!

ответ

1

Вы можете использовать FindTypeMapFor:

if (Mapper.FindTypeMapFor<TSource, TDestination>() == null) 
    Mapper.CreateMap<TSource, TDestination>(); 

// Map object 

Там также перегрузка, которая принимает параметры типа.