懒惰地初始化AutoMapper

时间:2015-11-10 21:54:21

标签: performance webforms automapper asp.net-4.5

我一直在ASP.NET 4.5 Webforms应用程序上做一些性能统计数据,在新的部署后初始启动时看起来有些迟钝。

我注意到的一点是创建AutoMapper地图确实需要一些时间。

由于这些地图只是很少使用,我想知道我是否可能“延迟”创建这些地图,直到第一次需要它们 - 这是一种“懒惰的初始化”。

在这种情况下,我必须有一些“非破坏性的”(例如没有抛出异常)检查给定地图是否存在的方式 - 如果在AutoMapper中有类似的东西吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用FindTypeMapFor

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

// Map object

还有一个带有类型参数的重载。