2011-12-05 97 views
3

我正在運行NHibernate 2.1和FluentNHibernate,並且由於連接池填滿,我不斷收到超時。我無法弄清楚爲什麼。我在NHibernate層後面使用SQL Server 2008。當我碰到最大池數時,連接再次出現最大值。由於數據庫連接用完而導致NHibernate超時

Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached."

我想一個ISession對象中看到找睡覺的聯繫,但我不能。這是一個NHibernate的錯誤?有沒有解決方法?

+0

我們可以看到你使用Session的地方的一些代碼,你在使用塊中使用會話嗎?你是否按照請求進行會話,並且之後沒有清理會話? – Phill

回答

2

聽起來好像你在完成它之後不會處理ISession。

+0

在處理ISession之前就會出現問題(並通過using()塊處理)。 – Tevya

0

我們找到了答案。這是在NHibernate的配置。當我們刪除以下條款時,問題就消失了。當我們恢復條款時,問題又回來了。

 <property name="connection.release_mode">on_close</property> 
相關問題