延迟初始化 AutoMapper
Lazily initializing AutoMapper
我一直在 ASP.NET 4.5 Webforms 应用程序上做一些性能统计,它在新部署后的初始启动时似乎有点迟钝。
我注意到的一点是创建 AutoMapper 地图确实需要一些时间。
由于这些地图很少使用,我想知道我是否可以 "delay" 创建这些地图,直到第一次需要它们 - 有点像 "lazy initialization".
在那种情况下,我必须有一些 "non-destructive"(例如不抛出异常)检查给定地图是否存在的方法 - 如果 AutoMapper 中有类似的东西?
谢谢!
您可以使用 FindTypeMapFor
:
if (Mapper.FindTypeMapFor<TSource, TDestination>() == null)
Mapper.CreateMap<TSource, TDestination>();
// Map object
还有一个采用类型参数的重载。
我一直在 ASP.NET 4.5 Webforms 应用程序上做一些性能统计,它在新部署后的初始启动时似乎有点迟钝。
我注意到的一点是创建 AutoMapper 地图确实需要一些时间。
由于这些地图很少使用,我想知道我是否可以 "delay" 创建这些地图,直到第一次需要它们 - 有点像 "lazy initialization".
在那种情况下,我必须有一些 "non-destructive"(例如不抛出异常)检查给定地图是否存在的方法 - 如果 AutoMapper 中有类似的东西?
谢谢!
您可以使用 FindTypeMapFor
:
if (Mapper.FindTypeMapFor<TSource, TDestination>() == null)
Mapper.CreateMap<TSource, TDestination>();
// Map object
还有一个采用类型参数的重载。