【问题标题】:NH 3.3.1 + Castle.Windsor 3.0 + WCF is there a way to work them together?NH 3.3.1 + Castle.Windsor 3.0 + WCF 有没有办法让它们一起工作?
【发布时间】:2012-10-08 04:00:32
【问题描述】:

在我当前的项目中,我使用 NH 3.0 + CW 2.5.2 + NHIntegrationFacility 1.1 + WCF,现在我需要迁移到最新的 NH 3.3.1。但我看到 NHIntegrationFacility 自 2.0RC(支持 NH3.1)版本以来不支持。

更新:感谢大家的回复。是否有一些替代的 DI 框架可以与 NH、WCF 一起使用,具有简单的 AOP 和 DI 能力并且有积极的开发?

【问题讨论】:

  • 我从来没有检查过 NH 集成设施。它究竟提供了什么/提供了什么?
  • 集成设施项目可能与活动记录一起死亡。即使您将设法针对最新的 Nhibernate 构建它,您也需要在每个新版本中使用它。我们正计划从项目中删除这个设施,但它并不像我们想要的那么简单:(
  • 为什么要离开 NHibernate?您不需要 NH 设施,我使用 WCF+Windsor+NHibernate 没有任何问题,它工作得很好。
  • 德克,不,我不会。我想在我的项目中使用 NHibernate 和 Windsor(用于注入和 AOP wcf 服务),但是如果没有 NHibernateIntegration 设施,我不知道该怎么做。请你能解释一下我该怎么做吗?或者给我一些链接。
  • 正如我在第一条评论中发布的那样,我什至不知道 NH 设施提供了什么。在我自己的项目中,我有一个类(单例生活方式),它拥有 NH 会话工厂,并在第一次需要时负责创建它。然后可以在我需要 isession 的任何地方注入该类。在我自己的项目中,我实现了一个工作单元模式,因此在存储库和会话工厂之间还有一个额外的层,保留了 ISession 和一个代表当前工作单元的 ITransaction。

标签: c# wcf nhibernate castle-windsor integration


【解决方案1】:

德克,这是不可能的!但是当您发表评论时,我尝试删除对这个程序集的依赖并通过经典方法(NHibernate.Cdg.Configuration)配置 NHibernate,并使用 wcf 工具简单地注册 ISession:Component.For().LifeStyle.PerWcfOperation().UsingFactoryMethod (会话‌​Factory.OpenSession)。没有完美的项目工作完美。谢谢你,伙计! :)

【讨论】:

    猜你喜欢
    • 2020-03-09
    • 1970-01-01
    • 2020-07-27
    • 2013-03-27
    • 2010-09-12
    • 2017-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多