我開始使用NHibernate,我開始使用城堡ActiveRecord的,所以我有那些混了問題,有時當城堡的ActiveRecord關閉連接
我想知道下面的代碼運行時,當ActiveRecord的(或NHibernate的)關閉連接的同時:
Dim entity = TABLE_Y.TryFind(id)
if not entity is nothing then
'long running process here
response.redirect("...")
end if
我問這是因爲這個長時間運行的過程需要一個多小時才能完成,每當代碼重定向到另一個頁面,我得到一個ORA-03135(連接失去聯繫)告訴我的連接已丟失,該另一頁具有以下活動記錄查詢:
Dim entity = TABLE_X.FindAll(Order.Desc(...), _
Expression.Eq(...) And _
Expression.Eq(...)).FirstOrDefault
,然後返回ORA-03135
所以我在想,如果不能從ActiveRecord的任何連接未長時間運行的過程之前關閉
這個長期運行的進程是從字面上另一個進程由應用程序啓動,它在重定向到另一個頁面之前等待它結束,因此即使其他進程使用活動記錄,它也不會使用相同的連接字符串或任何其他進程
這很有趣,因爲我開始完整的新查詢ely不同的表格,activerecord是否試圖重用超時的現有連接?我嘗試添加「池=假」和「驗證連接=真」,沒有運氣
在此先感謝
感謝,這正是我所期待的,我目前使用的SessionScopeWebModule所以沒有方式連接將保持打開,同時重定向我想 –
更新回答您的情況 –