NHibernate与StructureMap的非Web应用程序

时间:2010-05-18 07:46:59

标签: .net nhibernate structuremap

使用StructureMap为非Windows应用程序(如Windows服务)注入和管理NHibernate会话/事务的最佳实践是什么?

在Web上下文中,我们使用StructureMap的混合生命周期使用PerRequest会话管理生命周期,但对于Windows服务,我无法处理IDisposable UnitOfWork ......

感谢。

1 个答案:

答案 0 :(得分:2)

Ayende对如何在桌面应用程序here中处理NHibernate做了很好的总结。

使用StructureMap,我首先手动创建ISessionFactory。然后声明要在所有ISessionFactory实例上使用的实例:

        For<ISessionFactory>().Use(sessionFactory);

因此,您可以离开屏幕本身来创建和处理他们的会话。重要的是所有会话彼此隔离以避免内存问题。本文将对此进行全面解释。

通过这种方法,并且根据需要充分利用了IStatelessSession,我已经减少了我在WPF / StructureMap / NHibernate应用程序中遇到的许多问题。