Asp.net mvc ASP MVC+;城堡&x2B;nHibernate如何连接?

Asp.net mvc ASP MVC+;城堡&x2B;nHibernate如何连接?,asp.net-mvc,nhibernate,castle-windsor,castle,Asp.net Mvc,Nhibernate,Castle Windsor,Castle,连接asp mvc+castle windsor+nhibernate的最佳方式是什么 我有一个存储库,它被注入到我的控制器构造函数中 这是一种好的、正确的方法吗: Component.For<ISessionFactory>().UsingFactoryMethod(()=> CreateSessionFactory() ).LifeStyle.Singleton, Component.For<ISession>().UsingFactoryMethod ( k

连接asp mvc+castle windsor+nhibernate的最佳方式是什么

我有一个存储库,它被注入到我的控制器构造函数中

这是一种好的、正确的方法吗:

Component.For<ISessionFactory>().UsingFactoryMethod(()=> CreateSessionFactory() ).LifeStyle.Singleton,

Component.For<ISession>().UsingFactoryMethod ( k=>k.Resolve<ISessionFactory>().OpenSession()).LifeStyle.PerWebRequest
Component.For().UsingFactoryMethod(()=>CreateSessionFactory()).LifeStyle.Singleton,
Component.For().UsingFactoryMethod(k=>k.Resolve().OpenSession()).LifeStyle.PerWebRequest
然后把ISession注入到存储库构造函数中

事务和处理会话呢


谢谢你的帮助

MVC+Castle+NHibernate?最好的方法是使用S#arp架构,而不是重新发明轮子

发音为“犀利的建筑”,这是 是坚实的建筑基础 用于快速构建可维护的web 利用ASP.NET的应用程序 带有NHibernate的MVC框架。这个 在这方面应寻求的主要优势 使用任何体系结构框架都是必要的 要减少代码,必须编写 在提高产品质量的同时, 最终产品。一个框架应该能够 开发人员很少花时间在 基础设施细节,同时允许 让他们把注意力集中在 域和用户体验。 因此,S#arp架构 遵循以下关键点 原则:

  • 专注于领域驱动设计
  • 松耦合
  • 预配置的基础设施
  • 开放式演示文稿
这样做的总体目标是允许 开发者不用太担心 应用程序“管道”和花费 他们的大部分时间都花在为客户增值上 通过专注于业务来吸引客户 逻辑与开发富用户 经验


可以找到一个完整的例子。

我为您和任何其他想要这样做的人创建了一个设施

努吉:
Castle.Facilities.NHibernate

告诉我你是否觉得值得。它非常简约。只需在处理当前工作单元的命令处理程序周围放置一个[Transaction]。我不建议使用具有不同事务的多个服务。因此,我在温莎创造了一种新的生活方式,称为“每笔交易”


我可以在castle邮件列表上给你更多帮助

Castle对此有支持,没有重新发明的车轮。