2009-07-16 99 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-談話:

在這種情況下,單一會話比單個數據庫事務的範圍更大,並且它可能跨越多個數據庫事務。每個請求事件都在單個數據庫事務中處理,但會話的刷新將延遲到對話結束和最後一次數據庫事務結束,以使對話成爲原子。