2009-07-16 96 views
0

我有一个关于如何在用户访问期间保持当前ASP.net/User的会话的问题。保持当前用户对象的最佳方式是什么?与NHibernate交互的ASP.net会话

目前,我将它作为会话管理中的会话对象保存在ASP.net中。我确实有Context.User.Identify.User保留电子邮件地址/ PK,但有没有更好的方法来做到这一点?

+0

这实际上是否与NHibernate有关吗?我认为你在谈论会话状态,而不是NHibernate会话,不是吗? – 2009-07-16 08:31:58

回答

1

有一个关于休眠会话和事务管理的概述here

  • 建立一个单身会话工厂,负责提供您的 会话。
  • 如果要遵循的session-per-request模式,考虑Context.Items
  • 存储会话考虑使用的session-per-谈话:

在这种情况下,单一会话比单个数据库事务的范围更大,并且它可能跨越多个数据库事务。每个请求事件都在单个数据库事务中处理,但会话的刷新将延迟到对话结束和最后一次数据库事务结束,以使对话成为原子。