1

我还没有查看 AutoMapper 源代码,但正准备对我的解决方案中的 API 控制器进行一些更改并且有了一个想法。

我喜欢编码的方式是使我的控制器方法尽可能简洁,例如,我使用通用 Exception 属性来处理try{}catch{}场景。

所以只有与控制器动作绝对相关的代码实际上是在动作方法中。

所以我刚刚遇到了需要为AutoMapper方法创建映射的情况。我最初认为我会将这个(就像我之前所做的那样)添加到控制器构造函数中,以便它立即可用。

但是,随着控制器按照这种模式增长,可能会引入很多不必要AutoMapper的工作,具体取决于调用的控制器操作方法。

考虑到每个请求都会创建和销毁控制器,这可能会变得昂贵。

对此有什么建议?考虑到AutoMapper静态访问我想知道它的内部结构是否超出了请求的生命周期,并且它在每次CreateMap()调用时都会在创建新地图之前在内部检查现有地图?

4

1 回答 1

3

您应该CreateMap为每个 AppDomain 创建一次地图 ( ),最好是在该域启动时 ( Application_Start)。

于 2013-06-21T10:45:38.730 回答