我希望能夠查詢會話工廠以獲取所有已創建且仍處於打開狀態的會話列表。這似乎應該在某個地方進行跟蹤,即使它不是公開的或者可以從工廠直接訪問。有沒有辦法從nHibernate中的會話工廠中檢索打開的會話對象列表?
回答
在我看來,你是錯誤地構建你的問題(XY問題)。
爲什麼您需要從中心位置知道哪些會話仍處於開啓狀態?
您的應用程序是否泄漏資源?你需要性能統計嗎?
我建議你編輯你的問題,以反映你正試圖解決的實際問題。
感謝您的回覆。我試圖在盒子外面思考,並且以不同的模式使用nhibernate而不是每個請求的會話,並且從長遠來看不會做更多工作。我覺得我的問題是有效的。 –
@DavidC:我沒有說這是無效的。請解釋你如何使用它,我們將能夠提供幫助。否則,我可以給你的最好的就是「只需從負責開課的班級自己跟蹤他們,創建它,如果你沒有一個」 –
好吧,看起來這是我最好的選擇,謝謝! –
- 1. 從.xml檢索會話工廠對象
- 2. NHibernate:獲取所有打開的會話
- 3. 對象沒有從nhibernate會話中分離
- 4. 從NHibernate會話斷開對象
- 5. 有沒有辦法清除所有會話中的一些會話數據?
- 6. 有沒有辦法知道有多少會話,打開一個特定的表
- 7. 檢查會話工廠是否有活動會話
- 8. 會話對象沒有`request_token`
- 9. 與多個NHibernate會話工廠的SQLite
- 10. 有沒有辦法停止引用NHibernate中的子對象,而無需刷新會話或從會話緩存中刪除其父對象?
- 11. 有沒有辦法從任何地方訪問當前的Nhibernate會話?
- 12. 與x會話工廠nhibernate配置
- 13. 如何從Castle ActiveRecord檢索當前NHibernate會話對象SessionScope
- 14. 查看NHibernate會話對象
- 15. NHibernate的 - 延遲加載:沒有會話或會話關閉
- 16. NHibernate的沒有會話或會話關閉
- 17. 有沒有辦法訪問ASP.NET中當前會話的集合?
- 18. NHibernate:創建沒有會話的iCriteria
- 19. 在會話工廠
- 20. SFTP會話工廠
- 21. 有沒有辦法在Coldfusion中有選擇地啓用會話?
- 22. NHibernate打開的非活動會話
- 23. PHP沒有開始會話?
- 24. 有沒有辦法列出所有在Smalltalk會話中完成的DoIts?
- 25. NHibernate不會從會話中驅逐對象
- 26. 有沒有辦法點擊Firefox中的鏈接並在現有的VIM會話中打開文件?
- 27. 從MVC4中的會話變量中檢索列表?
- 28. 有沒有辦法在php會話中增加樣式?
- 29. 有沒有辦法在irb中獲取屏幕會話名稱?
- 30. 有沒有辦法在netTcpBinding中啓用會話和流媒體?
你可以自己實現會話工廠。如果請求會話,請將其添加到會話列表中。如果它關閉,則將其從列表中刪除。 – Peter
Er..I可以看看如何工作,基本上創建一個「運行」sessionid的哈希表,當我請求一個會議。將會話本身存儲爲該密鑰引用的對象。這很容易,但它似乎很混亂。會話結束時,我必須從散列表中刪除會話。由於我沒有使用每個請求的會話,我真的很想要一個更清晰的實現。我希望我可以簡單地以某種方式查詢_sessionfactory進行開放會話,但是我非常欣賞輸入@peer。 –
NH profiler是否做到這一點?我從來沒有使用過它,但它是跟蹤NH正在做什麼的流行工具。 –