2012-12-19 93 views
0

我的應用程序中出現以下錯誤。已達到連接最大池大小

「超時過期。超時時間從池中獲取一個 連接之前已過。出現這種情況可能是因爲所有池 的連接正在使用,並且達到最大池大小。」

沒有任何想法,我只是在web.config中將編譯debug =「true」更改爲編譯debug =「false」。

問題突然消失。編譯調試和池大小之間有任何連接嗎?

+1

的事情是當你改變在web.config中任何東西,保存它,應用程序池被回收,並將其重置整個應用程序。我會去找所有的數據庫連接,讀者,並確保他們都成功或異常關閉。 –

回答

2

它看起來像一個連接泄漏問題。使用後始終關閉/處理連接非常重要。否則,它們不會返回到連接池(或返回太慢)。

製作舒爾你總是使用語句與諸如連接:

using (SqlConnection connection = new SqlConnection(connectionString)) 
{ 
    SqlCommand command = connection.CreateCommand(); 

    command.CommandText = "mysp_GetValue"; 
    command.CommandType = CommandType.StoredProcedure; 

    connection.Open(); 
    object ret = command.ExecuteScalar(); 
} 

More information here

相關問題