1.與DB的connection開太多且用完後沒有關閉,導致connection pool已滿
2.dataReader 用完後沒有關閉
我的情況是兩種可能都有 XD
改掉之後程式就正常了
還有一種方法就是將connection pool加大
設定的方法就是在connectionString最後面加上Max pool size = 200
類似這樣
Server=myServerAddress;Database=myDataBase;Uid=myUsernamePwd=myPassword;Max pool size = 200
參考資料
補充說明:參考資料
Min pool size 代表在connection pool裡最少有幾個連接數,假設你Min pool size設5
那connection pool建立的時候,裡面就會有5個conncetion。
Max pool size則代表connection pool裡最多能有幾個connection。
如果connectioin已達到Max pool size且connection pool中的connection全部都在使用中,要打開新的SqlConnection物件時,則要等待一個SqlConnection物件關閉,然後才可以使用新的SqlConnection物件。如果請求等待時間超過ConnectionTimeout屬性指定的秒數,則會拋出exception。
沒有留言:
張貼留言