代码之家  ›  专栏  ›  技术社区  ›  Fran

与NHibernate和Castle Windsor一起使用MEF

  •  5
  • Fran  · 技术社区  · 15 年前

    我有一个ASP.NET MVC应用程序,它使用NHibernate进行数据访问。我用温莎容器来处理注射 ISession 对每个控制器的引用。

    这很好,但是现在我想用一个可插拔的架构扩展我的应用程序,这样我就可以拥有一个核心产品和特定的附加组件。我找到了一篇很好的文章 MEF .

    我的问题是如何使温莎集装箱和MEF集装箱,生活/工作在一起,以便我能做到这一点。有一个 article by Glenn Block 关于这个确切的问题。然后,结尾说下一篇文章将向您展示如何做到这一点,但是没有第2部分。

    有人用ASP.NET MVC、MEF、NHibernate和Castle Windsor创建了这样的应用程序吗?

    3 回复  |  直到 15 年前
        1
  •  3
  •   Krzysztof Kozmic    15 年前

    我在6个月前加入了windsor->mef集成的小型原型 here . 它以您似乎正在实现的场景为目标,在该场景中,您使用windsor引导应用程序,并希望使用mef实现可扩展性。你可以去看看,也许会给你一些建议

        2
  •  3
  •   Jafin    15 年前

    这个 Who Can Help Me 应用程序正在使用ASP.NET MVC、Castle Windsor、MEF和NHibernate。值得一看。

        3
  •  0
  •   Community Mohan Dere    8 年前

    根据您想要实现的目标,您可以使用多种可能的方法。

    如果可能的话,把温莎换成MEF。如果您不使用温莎的更高级的功能,您可以很容易地使用MEF而不是温莎。( Read this post to see if it is suitable for you. )

    如果你想坚持他们两个, read this . (也许这是你提到的那个职位?)

    正如格伦所写,同时拥有MEF和温莎是完全合理的。我认为:

    • 温莎是应用程序中实际组件的IOC容器。
    • MEF应负责应用程序中的外部组件和第三方扩展

    这也应该回答格伦在博客结尾时提出的问题。(顺便说一句,这些评论也值得一读,他说他有一座通往城堡的工作桥。)
    你可以在里面找到更多的东西 this question .

    希望这有帮助。

    推荐文章