我还没有查看 AutoMapper 源代码,但正准备对我的解决方案中的 API 控制器进行一些更改并且有了一个想法。
我喜欢编码的方式是使我的控制器方法尽可能简洁,例如,我使用通用 Exception 属性来处理try{}catch{}
场景。
所以只有与控制器动作绝对相关的代码实际上是在动作方法中。
所以我刚刚遇到了需要为AutoMapper
方法创建映射的情况。我最初认为我会将这个(就像我之前所做的那样)添加到控制器构造函数中,以便它立即可用。
但是,随着控制器按照这种模式增长,可能会引入很多不必要AutoMapper
的工作,具体取决于调用的控制器操作方法。
考虑到每个请求都会创建和销毁控制器,这可能会变得昂贵。
对此有什么建议?考虑到AutoMapper
静态访问我想知道它的内部结构是否超出了请求的生命周期,并且它在每次CreateMap()
调用时都会在创建新地图之前在内部检查现有地图?