繁体   English   中英

为什么要使用CastleWindsor NHibernate工具中的ISessionManager?

[英]Why would one want to use ISessionManager from CastleWindsor NHibernate facility?

我是NHibernate和Castle Windsor的初学者,但是我正在处理的当前应用程序是使用Castle Windsor的NHibernate设施集成级别2,即使用ISessionManager。

我已经比较了需要手动保留数据和使用ISessionManager所需执行的操作,但我并没有真正编写更少的代码。 我的问题是为什么我什至需要ISessionManager? 它给我带来什么好处? 使用ISessionManager的缺点是什么?

首先,您不必自己管理会话。 在网络环境中,您通常希望确定会话请求的范围。 会话管理器确保“ OpenSession”的第一个调用者启动一个新会话,而嵌套调用在调用“ OpenSession”时获得相同的会话。 您可以通过在httpmodule中启动/关闭会话或使用AOP模式来自己做同样的事情,请注意,这样做意味着您正在使用一个数据库,而自己处理多个数据库则变得更加乏味。 ISessionManager处理多个数据库就像处理一个数据库一样整洁。

+为您处理会话轻巧,无干扰的Easy Easy支持,可处理多个数据库不可知论的主机(nservicebushosting与IIS一样有效)

-您的DAL /存储库/无论您叫什么形式的样板代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM