使用Simple Injector代替Castle Windsor用于Glass Mapper

时间:2015-04-16 07:37:50

标签: c# castle-windsor ioc-container simple-injector glass-mapper

我正在阅读关于Glass.Mapper的文章。它看起来不错,是我想用于工作项目的东西。我们实际上将Glass.Mapper用于某些项目,但我们正在循环中简化我们的工具集,并决定使用Simple Injector进行IoC。在这里:http://www.glass.lu/Mapper/Sc/Tutorials/Tutorial1我可以读到Glass.Mapper在与Sitecore一起使用时存在两个项目:

  1. Glass.Mapper.Sc
  2. Glass.Mapper.Sc.CastleWindsor
  3. 在Glass.Mapper主页的教程中,他们只展示了如何使用Glass.Mapper.Sc.CastleWindsor,他们没有展示如何实现Glass.Mapper可以使用的第三个IoC容器。但我认为有可能,当他们公开Glass.Mapper.Sc包时,但我无法找到任何解释,当我想要实现自己的时候,所以我开始认为有你自己做多少工作呢?我应该依赖Glass.Mapper.Sc.CastleWindsor,只需执行此操作http://www.glass.lu/Blog/MixingInIoc,那么我也可以使用Simple Injector吗?

    或者我错过了什么,这实际上是世界上最容易做到的事情吗?

1 个答案:

答案 0 :(得分:5)

事实上,就在昨天我向Glass项目发送了一个pull请求,将Simple Injector用作DI库。您可以在此处查看该拉取请求:https://github.com/mikeedwards83/Glass.Mapper/pull/123

请注意,拉取请求是理论上的练习,因为我无法设置Sitecore环境并对其进行测试。但您对团队的反馈可能非常受欢迎。请发送您的评论here

请注意,虽然Glass是一个'简单'的可重用库,IMO你应该能够让它使用自己的DI库并使用Simple Injector为你自己的项目。在某些情况下,您需要在Glass和Simple Injector中注册服务,但一般情况下这应该不是问题。