对于像Windows服务这样的非Web应用,使用StructureMap为NHibernate注入和管理会话/事务的最佳实践是什么?
在web环境中,我们使用PerRequest会话管理生命周期,使用StructureMap的混合生命周期,但对于Windows服务,我不能处理IDisposable UnitOfWork ...
谢谢。
发布于 2010-05-21 02:45:49
Ayende很好地总结了如何在桌面应用程序here中处理NHibernate。
使用StructureMap时,我首先手动创建ISessionFactory。然后声明要在所有ISessionFactory实例上使用的实例:
For<ISessionFactory>().Use(sessionFactory);因此,您可以让屏幕本身来创建和处理它们的会话。重要的是,所有会话都要相互隔离,以避免内存问题。这在这篇文章中有详细的解释。
通过这种方法,并根据需要很好地使用IStatelessSession,我减少了很多在WPF/StructureMap/NHibernate应用程序中遇到的问题。
https://stackoverflow.com/questions/2855341
复制相似问题