Я еще не смотрел исходный код AutoMapper, но собирался внести некоторые изменения в контроллер API в своем решении и подумал.ASP.NET Mvc - Лучшая практика AutoMapper - Производительность
Способ, которым я хотел бы кодировать, чтобы мои методы управления были максимально краткими, поскольку для экземпляров я использую общий атрибут Исключения для обработки сценариев try{}catch{}
.
Таким образом, только код, абсолютно соответствующий действию контроллера, фактически находится в методе действий.
Так что я только что прибыл в ситуацию, когда мне нужно создать карту AutoMapper
для метода. Первоначально я думал, что добавлю это (как я сделал ранее) к конструктору контроллера, чтобы он был доступен сразу.
Однако, по мере того как контроллер растет после этого шаблона, может возникнуть много ненужных работ в зависимости от метода действия контроллера, который вызывается.
Учитывая, что контроллеры созданы и уничтожены за каждый запрос, это может стать дорогостоящим.
Каковы рекомендации по этому вопросу? С учетом того, что AutoMapper
получает доступ к статически, мне было интересно, живут ли они вне жизненного цикла запроса и внутренне проверяют существующую карту перед созданием нового каждый раз, когда вызывается CreateMap()
?
Это также имеет больший смысл, так как я просто смотрел исходный код для «AutoMapper», и он действительно живет за время ожидания запроса. Спасибо Дарин – Jammer