2011-03-08 58 views
0

當我將asp.net(3.5)應用程序部署到客戶端服務器時,出現連接池錯誤。使用查詢(從谷歌搜索),我發現我的網頁之一,當它打開時,抽出大約56個連接到服務器,該頁面包含一個嵌套的網格視圖,它有2600個主要網格數據的大量數據和n子網格中的數據數量,客戶端中的數據庫是sql server 2000,web配置中的最大連接池設置是什麼,有沒有辦法解決這個問題。asp.net中的連接池問題

+0

沒有足夠的信息來準確回答,除了修復代碼之外......即,修復真正的原因,而不是症狀... – 2011-03-08 04:45:50

+0

你究竟得到什麼錯誤? – 2011-03-08 04:49:49

+0

只需查看是否可以在單個連接中獲取頁面的所有數據並在後面的代碼中填充datagrid。 – 2011-03-08 04:57:02

回答

1

正如@Mitch糾正指出的,更好的解決方案不是調整連接池設置,而是重新設計代碼,以便它可以使用單個連接。

當前顯而易見的問題是,您打開的每個連接都應該在您使用它們後立即關閉。但不止如此,您應該考慮重新分解:

  1. 嘗試使用單個連接來獲取主網格和子網格的數據。您可能會觸發多個查詢(導致多個數據庫行程)。
  2. 接下來顯而易見的步驟是將多個查詢集中在一起或調用單個sp,這些sp將一起獲取主網格和子網格的數據,以便將數據庫之旅減少到一個。
  3. 接下來很明顯的一步就是質疑你是否需要將所有這些數據放在一起 - 例如,你真的打算一次顯示2600行嗎?如果不是,那麼只能使用數據庫端分頁獲取您想要顯示的內容。