亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

asp.net 數據庫連接池淺析

2024-07-10 13:26:25
字體:
來源:轉載
供稿:網友
1,對于ASP.NET數據庫連接池可以使用一組名稱-值對以鏈接字符串的形式配置鏈接池。例如,可以配置池是否有效(默認是有效的),池的最大、最小容量,用于打開鏈接的排隊請求被阻斷的時間。下面的示例字符串配置了池的最大和最小容量。
"Server=(local); Integrated Security=SSPI; Database=Northwind;
Max Pool Size=75; Min Pool Size=5"
ASP.NET數據庫連接池摘要
連接池允許應用程序從連接池中獲得一個連接并使用這個連接,而不需要為每一個連接請求重新建立一個連接。一旦一個新的連接被創建并且放置在連接池中,應用程序就可以重復使用這個連接而不必實施整個數據庫連接創建過程。
當應用程序請求一個連接時,連接池為該應用程序分配一個連接而不是重新建立一個連接;當應用程序使用完連接后,該連接被歸還給連接池而不是直接釋放。
2,
連接池減少新連接需要打開的次數。池進程保持物理連接的所有權。通過為每個給定的連接配置保留一組活動連接來管理連接。只要用戶在連接上調用 Open,池進程就會檢查池中是否有可用的連接。如果某個池連接可用,會將該連接返回給調用者,而不是打開新連接。應用程序在該連接上調用 Close 時,池進程會將連接返回到活動連接池集中,而不是真正關閉連接。連接返回到池中之后,即可在下一個 Open 調用中重復使用。
只有配置相同的連接可以建立池連接。ADO.NET 同時保留多個池,每個配置一個池。連接由連接字符串以及 Windows 標識(在使用集成的安全性時)分為多個池。
池連接可以大大提高應用程序的性能和可縮放性。默認情況下,ADO.NET 中啟用連接池。除非顯式禁用,否則,連接在應用程序中打開和關閉時,池進程將對連接進行優化。還可以提供幾個連接字符串修飾符來控制連接池的行為
池的創建和分配
在初次打開連接時,將根據完全匹配算法創建連接池,該算法將池與連接中的連接字符串關聯。每個連接池與不同的連接字符串關聯。打開新連接時,如果連接字符串并非與現有池完全匹配,將創建一個新池。按進程、按應用程序域、按連接字符串以及(在使用集成的安全性時)按 Windows 標識來建立池連接。
在以下 C# 示例中創建了三個新的 SqlConnection 對象,但是管理時只需要兩個連接池。注意,根據為 Initial Catalog 分配的值,第一個和第二個連接字符串有所不同。

復制代碼 代碼如下:


using (SqlConnection connection = new SqlConnection(
"Integrated Security=SSPI;Initial Catalog=Northwind"))
{
connection.Open();
// Pool A is created.
}
using (SqlConnection connection = new SqlConnection(
"Integrated Security=SSPI;Initial Catalog=pubs"))
{
connection.Open();
// Pool B is created because the connection strings differ.
}
using (SqlConnection connection = new SqlConnection(
"Integrated Security=SSPI;Initial Catalog=Northwind"))
{
connection.Open();
// The connection string matches pool A.
}


如果 MinPoolSize 在連接字符串中未指定或指定為零,池中的連接將在一段時間不活動后關閉。但是,如果指定的 MinPoolSize 大于零,在 AppDomain 被卸載并且進程結束之前,連接池不會被破壞。非活動或空池的維護只需要最少的系統開銷
添加連接
連接池是為每個唯一的連接字符串創建的。當創建一個池后,將創建多個連接對象并將其添加到該池中,以滿足最小池大小的要求。連接根據需要添加到池中,但是不能超過指定的最大池大小(默認值為 100)。連接在關閉或斷開時釋放回池中。
在請求 SqlConnection 對象時,如果存在可用的連接,將從池中獲取該對象。連接要可用,必須未使用,具有匹配的事務上下文或未與任何事務上下文關聯,并且具有與服務器的有效鏈接。
連接池進程通過在連接釋放回池中時重新分配連接,來滿足這些連接請求。如果已達到最大池大小且不存在可用的連接,則該請求將會排隊。然后,池進程嘗試重新建立任何連接,直到到達超時時間(默認值為 15 秒)。如果池進程在連接超時之前無法滿足請求,將引發異常。
移除連接
連接池進程定期掃描連接池,查找沒有通過 Close 或 Dispose 關閉的未用連接,并重新建立找到的連接。如果應用程序沒有顯式關閉或斷開其連接,連接池進程可能需要很長時間才能重新建立連接,所以,最好確保在連接中顯式調用 Close 和 Dispose。
如果連接長時間空閑,或池進程檢測到與服務器的連接已斷開,連接池進程會將該連接從池中移除。注意,只有在嘗試與服務器進行通信之后才能檢測到斷開的連接。如果發現某連接不再連接到服務器,則會將其標記為無效。無效連接只有在關閉或重新建立后,才會從連接池中移除。
如果存在與已消失的服務器的連接,那么即使連接池管理程序未檢測到已斷開的連接并將其標記為無效,仍有可能將此連接從池中取出。這種情況是因為檢查連接是否仍有效的系統開銷將造成與服務器的另一次往返,從而抵消了池進程的優勢。發生此情況時,初次嘗試使用該連接將檢測連接是否曾斷開,并引發異常。

ASP.NET數據庫連接池優點
使用連接池的最主要的優點是性能。創建一個新的數據庫連接所耗費的時間主要取決于網絡的速度以及應用程序和數據庫服務器的(網絡)距離,而且這個過程通常是一個很耗時的過程。而采用數據庫連接池后,數據庫連接請求可以直接通過連接池滿足而不需要為該請求重新連接、認證到數據庫服務器,這樣就節省了時間。


ASP.NET數據庫連接池缺點
數據庫連接池中可能存在著多個沒有被使用的連接一直連接著數據庫(這意味著資源的浪費)。
技巧和提示
1.當你需要數據庫連接時才去創建連接池,而不是提前建立。一旦你使用完連接立即關閉它,不要等到垃圾收集器來處理它。
2.在關閉數據庫連接前確保關閉了所有用戶定義的事務。
3.不要關閉數據庫中所有的連接,至少保證連接池中有一個連接可用。如果內存和其他資源是你必須首先考慮的問題,可以關閉所有的連接,然后在下一個請求到來時創建連接池
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩免费高清在线观看| 久久精品一区中文字幕| 97涩涩爰在线观看亚洲| 91精品国产91久久久久福利| 国产亚洲一区精品| 国产91精品视频在线观看| 成人网在线视频| 亚洲欧美日韩图片| 91免费欧美精品| 亚洲有声小说3d| 国产在线一区二区三区| 国产精品香蕉在线观看| 免费不卡欧美自拍视频| 成人疯狂猛交xxx| 久久久最新网址| 在线成人免费网站| 这里只有精品视频在线| 538国产精品一区二区在线| 久久亚洲欧美日韩精品专区| 亚洲精品美女久久久| 中文字幕精品在线视频| 国产成人精品网站| 亚洲一区中文字幕在线观看| 亚洲美女视频网站| 欧美精品18videosex性欧美| 日韩精品一区二区三区第95| 欧美激情一二三| 亚洲欧美在线免费观看| 成人午夜激情网| 91精品视频观看| 性日韩欧美在线视频| 国产亚洲人成网站在线观看| 亚洲欧美日本精品| 欧美性视频精品| 久久久91精品| 欧美成人在线免费| 91国偷自产一区二区三区的观看方式| 性色av一区二区三区在线观看| 国产主播喷水一区二区| 欧美人与性动交| 91精品视频在线播放| 久久国产精品网站| 亚洲字幕在线观看| 国产精品福利无圣光在线一区| 亚洲精品不卡在线| 久久久国产成人精品| 国产丝袜一区二区| 亚洲精品乱码久久久久久按摩观| 精品中文字幕在线| 国产福利精品视频| 91成人精品网站| 91免费电影网站| 亚洲成人av在线| 992tv成人免费视频| 久久资源免费视频| 久久国产加勒比精品无码| 精品国产视频在线| 国产精品一区二区三区在线播放| 国产精品视频xxxx| 欧美韩国理论所午夜片917电影| 国产在线98福利播放视频| 欧美日韩性生活视频| 亚洲综合视频1区| 亚洲精品视频在线播放| 色综合导航网站| 欧美成人亚洲成人日韩成人| 日韩性生活视频| 亚洲成人精品视频在线观看| 亚洲福利视频久久| 国产一区二区三区丝袜| 亚洲在线观看视频| 成人福利在线视频| 久久视频这里只有精品| 91精品国产91久久久久久不卡| 欧美成人激情在线| 精品女同一区二区三区在线播放| 欧美激情综合色| 久久人91精品久久久久久不卡| 亚洲天堂男人的天堂| 亚洲免费人成在线视频观看| 日韩av在线一区| 日韩欧美在线视频日韩欧美在线视频| 亚洲精品之草原avav久久| 亚洲人成在线观看网站高清| 亚洲精品成人久久| 亚洲国产精品成人精品| 亚洲精品98久久久久久中文字幕| 91精品视频在线播放| 国产精品久久久亚洲| 91a在线视频| 一色桃子一区二区| 青青草国产精品一区二区| 97激碰免费视频| 久久精品成人欧美大片古装| 97精品在线观看| 91精品视频在线看| 日韩欧美中文免费| 久久在线免费视频| 亚洲精品国产精品国自产观看浪潮| 91av视频导航| 亚洲成人av在线| 亚洲经典中文字幕| 中文字幕在线观看日韩| 日韩中文字幕精品| 国产69精品久久久久久| 国产人妖伪娘一区91| 亚洲深夜福利在线| 欧美成人亚洲成人| 91久久精品视频| 亚洲精品免费一区二区三区| 国产日韩精品在线观看| 久久精品国产久精国产思思| 欧美精品999| 欧美激情精品久久久久久黑人| 亚洲欧美日韩视频一区| 国色天香2019中文字幕在线观看| 久热精品视频在线观看| 欧美怡红院视频一区二区三区| 亚洲在线视频福利| 欧美黑人一级爽快片淫片高清| 久久久久久亚洲精品不卡| 午夜精品三级视频福利| 久久精品国产96久久久香蕉| 日本19禁啪啪免费观看www| www.久久色.com| 久久91亚洲精品中文字幕奶水| 超在线视频97| 欧美成年人视频网站| 91中文字幕一区| 亚洲一区二区免费在线| 亚洲电影在线看| 国产一区二区三区高清在线观看| 亚洲一区二区精品| 精品福利樱桃av导航| 欧美精品18videos性欧美| 欧美激情一区二区三区在线视频观看| 国产免费一区二区三区在线观看| 欧美疯狂性受xxxxx另类| 国产精品欧美在线| 国产69精品久久久久9999| 久久好看免费视频| 亚洲xxxx18| 亚洲国产精品视频在线观看| 国产网站欧美日韩免费精品在线观看| 国产精品久久色| 在线观看国产精品日韩av| 欧美日韩高清区| 91久久精品美女高潮| 亚洲欧洲国产精品| 亚洲影院污污.| 欧美国产第二页| 91精品国产亚洲| 亚州av一区二区| 国产a级全部精品| 成人黄色av播放免费| 伊人青青综合网站| 福利微拍一区二区| 日本精品视频在线观看| 精品福利在线观看| 久热精品在线视频| 欧美性猛交xxxx富婆弯腰| 精品国产拍在线观看| 国产精品av在线| 国产精品一区电影|