2012-02-29 66 views
1

我有一個大型的網頁asp.net應用程序,主要是由其他人編寫的。似乎有連接池泄漏。請你能告訴我診斷泄漏的方法嗎?最簡單/最可靠/最快捷的方式來做到這一點?診斷連接池泄漏sourse

謝謝

+0

您是否在每個頁面中創建了數據訪問類或連接? – PraveenVenu 2012-02-29 07:19:52

+0

它有某種自寫的dal。我想查找連接丟失的所有來源(文件和行),它在哪裏打開但未關閉或處置。任何工具或想法如何做到這一點? – idm 2012-02-29 08:46:22

+0

您現在如何在自己編寫的DAL中實際處理連接生命週期?何時何地實例化它們?沒有細節,很難說。如果您在50個不同的地方實例化它們,然後將它們(或不在)放置在不同的地方,那麼您將不得不手動完成它。 – Groo 2012-02-29 08:57:35

回答

1

如果你有一個連接(輔助類)的公共點,那麼你就可以創建內部使用塊連接。

例:

using (SqlConnection connection = new SqlConnection(connectionString)) 
{ 
//you code here 
} 
0

假設你正在使用SQL Server ...

您是否嘗試過在SQL Server Management Studion使用Activiy監控?在過去,我用它來解決同樣的問題。在服務器上

  1. 打開活動監視器
  2. 開放進程
  3. 瀏覽列表
  4. 如果連接不正確處置,你會看到很多的項目爲您的應用程序。
  5. 右鍵單擊其中一個並選擇詳細信息。請注意窗口中的命令SQL。重複幾個。
  6. 如果您看到相同的命令重複,很可能是您的泄漏。

原油但有效;可能有更好的方法,但這對我有效。祝你好運!