首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Automapper和IoC

Automapper和IoC
EN

Stack Overflow用户
提问于 2011-03-11 18:25:53
回答 1查看 1.3K关注 0票数 2

在阅读了Jimmy在AutoMapper和IoC上的博客文章之后,我尝试使用IoC来实现类似的东西。因此,我从这里了解到,IConfiguration将为IoC提供一个单例实例,用于定义对象映射。

代码语言:javascript
复制
Dim config as IConfiguration = Kernel.Get(Of IConfiguration)
Config.CreateMap(Of Source, Destination)

因此,后来我编写了一个测试,以检查Mapper静态类做什么不同。在下面的测试中,我比较了两个不同的IConfigurationIMappingEngine实例,并通过了测试。

所以,当IoC Mapper静态类做同样的事情时,我试图找出在AutoMapper中使用的目的是什么,即每次都提供IConfiguration的单例实例。

代码语言:javascript
复制
    <TestMethod()>
    Public Sub Test()
       Dim c1 As IConfiguration = Mapper.Configuration
       Dim c2 As IConfiguration = Mapper.Configuration

       Dim e1 As IMappingEngine = Mapper.Engine
       Dim e2 As IMappingEngine = Mapper.Engine

       Assert.AreSame(c1, c2)
       Assert.AreSame(e1, e2)
   End Sub
EN

回答 1

Stack Overflow用户

发布于 2011-03-11 19:02:03

如果您的组件包含配置为单例的映射,则可以确保配置为瞬态的组件通过注入映射组件来实现它们的依赖关系(映射)。

您不必以任何其他方式初始化其他地方的映射。

如果您有临时组件,您将确保映射初始化代码只运行一次,因为该组件被配置为单例,然后注入。

我自己也没有这样做过(我的组件大多是单片的),但这听起来是个不错的主意。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5276832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档