簡體   English   中英

廣泛使用SqlDataSource和太多3306次等待連接

[英]Extensive use of SqlDataSource and too many 3306 time wait connections

是否有可能存在大量使用asp:SqlDataSource和很多3306端口的時間等待狀態之間的連接?

asp:sqldatasource是否自動關閉連接? 如果沒有,如何關閉slqdatasource所做的連接?

在此先感謝,Firmino

嘗試<asp:SqlDataSource DataSourceMode="DataSet" />

來自MSDN:

數據檢索模式標識SqlDataSource控件如何從底層數據庫檢索數據。 當DataSourceMode屬性設置為DataSet值時,數據將加載到DataSet對象中並存儲在服務器的內存中。 這使得用戶界面控件(如GridView)提供排序,過濾和分頁功能的場景成為可能。 當DataSourceMode屬性設置為DataReader值時,IDataReader對象將檢索數據,該對象是只進,只讀游標。 IDataReader對象的特定類型取決於SqlDataSource使用的NET數據提供程序,該提供程序由ProviderName屬性標識。 默認情況下,SqlDataSource控件使用Microsoft SQL Server的提供程序System.Data.SqlClient,數據讀取器是SqlDataReader對象。

DataReader需要打開連接才能運行 - 它直接從DB返回數據。 在約束中, DataSet將數據從DB加載到內存,因此只為實際讀取/更新/插入/刪除打開連接,然后可以關閉(=返回池)。

來源: SqlDataSource.DataSourceMode

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM