2010-10-01 61 views
0

我們使用Silverlight和NHibernate創建了一個應用程序。使用了 和SOA架構。NHibernate:交易未關閉

當我運行應用程序時,它創建了NHibernate會話,我可以在sqlserver活動監視器中看到它。但交易完成後,仍然會議不會被關閉[我可以看到會議在睡眠模式]。它會在5-10分鐘後關閉[ByDefault]。

我們正在使用NHibernateDataContext對象。 開始業務操作之前,調用EnlistTransaction並完成後調用CompleteTransaction。但是我仍然可以在Sql服務器活動監視器中看到睡眠會話。

任何人都可以有任何想法解決這個問題?

回答

1

您需要使用諸如NHibernate Profiler或SQL Profiler之類的東西來更詳細地查看對您的數據庫執行哪些語句。最有可能的事務是按照您的期望承諾的,但由於連接池的關係,連接仍處於開放狀態。