亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺析ASP.NET的數(shù)據(jù)庫連接池及原理

        2017-05-19 16:07:01湯小波
        商情 2017年12期
        關(guān)鍵詞:調(diào)用進(jìn)程應(yīng)用程序

        湯小波

        (重慶三峽職業(yè)學(xué)院)

        【摘要】數(shù)據(jù)庫連接池在.NET開發(fā)中有著重要的作用,本文講述了連接池的概念、工作原理,連接池的數(shù)據(jù)連接,以及如何避免連接泄漏,對于.NET應(yīng)用程序在實際開發(fā)中具有深入的指導(dǎo)意義。

        【關(guān)鍵字】連接池 連接

        1、數(shù)據(jù)訪問原理及數(shù)據(jù)連接池產(chǎn)生的必要性

        實現(xiàn)數(shù)據(jù)訪問,首先要建立了物理數(shù)據(jù)庫的連接,通過ADO.NET提供的Connection連接類,實現(xiàn)數(shù)據(jù)庫的連接。每當(dāng)操作完成后,要斷開連接對象,釋放連接資源,一旦操作數(shù)據(jù)庫,又要重新連接。反復(fù)處理數(shù)據(jù),就要反復(fù)實現(xiàn)數(shù)據(jù)連接。當(dāng)數(shù)據(jù)連接中,便可對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行相關(guān)處理。

        在應(yīng)用程序的開發(fā)過程中,連接數(shù)據(jù)庫服務(wù)器是應(yīng)用程序耗費大量資源且相對較慢的操作,但連接又是必須的。通常,連接到數(shù)據(jù)庫服務(wù)器由幾個需要花費很長時間的步驟組成,如建立物理通道、與服務(wù)器進(jìn)行初次握手、分析連接字符串、服務(wù)器身份驗證等。如果這些連接反復(fù)打開和關(guān)閉,則系統(tǒng)開銷就會很大。因此為了避免這種相同連接不斷地重復(fù)打開與關(guān)閉操作,從而使打開連接花費的系統(tǒng)開銷最小,引入連接池的方法就很有必要。

        2、連接池的概念

        池可以想象成一個容器,數(shù)據(jù)連接池可以看成是一個已打開的及可重用的數(shù)據(jù)庫連接的一個容器。里面可以有多個打開的數(shù)據(jù)連接,處于激活或非激活狀態(tài)。通過為每個給定的連接配置保留一組活動連接來管理連接。每當(dāng)用戶在連接上調(diào)用Open時,池進(jìn)程就會查找池中可用的連接。如果某個池連接可用,會將該連接返回給調(diào)用者,而不是打開新連接。應(yīng)用程序在該連接上調(diào)用Close時,池進(jìn)程會將連接返回到活動連接池中,而不是關(guān)閉連接。連接返回到池中之后,即可在下一個Open調(diào)用中重復(fù)使用。

        連接池中提供了空閑的、打開的、可重用的數(shù)據(jù)庫連接,而不再需要每次在請求數(shù)據(jù)庫數(shù)據(jù)時新打開一個數(shù)據(jù)庫連接。當(dāng)數(shù)據(jù)庫連接關(guān)閉或釋放時,將返回到連接池中保持空閑狀態(tài),直到新的連接請求到來。連接池在所有的數(shù)據(jù)庫連接都關(guān)閉時才從內(nèi)存中釋放。因此,如果有效地使用連接池,打開和關(guān)閉數(shù)據(jù)庫所耗費的系統(tǒng)資源將大大減少。

        3、連接池的工作原理

        要理解連接池工作原理,首先需要了解程序里打開和關(guān)閉一個“物理連接”的關(guān)系。數(shù)據(jù)提供者在收到連接請求時建立連接的過程為:先在連接池里建立新的連接,然后建立該“邏輯連接”對應(yīng)的“物理連接”,建立“邏輯連接”一定伴隨建立“物理連接”。關(guān)閉一個連接的過程為:先關(guān)閉“邏輯連接”對應(yīng)的“物理連接”,然后銷毀“邏輯連接”。銷毀“邏輯連接”一定伴隨著關(guān)閉“物理連接”。其中,Open()是向Data Provider請求一個連接,Data Provider不一定需要完成建立連接的完整過程,可能只需要從連接池里取出一個可用的連接就可以;而Close()是請求關(guān)閉一個連接,Data Provider不一定需要完成關(guān)閉連接的完整過程,可能只需要把連接釋放回連接池就可以。

        圖示中描述了一個應(yīng)用中和不同客戶端應(yīng)用程序使用連接池訪問數(shù)據(jù)庫的情況。圖中的虛線雙向箭頭表示客戶端應(yīng)用程序和數(shù)據(jù)庫建立的“邏輯連接”,實線雙向箭頭表示連接池與數(shù)據(jù)庫之間的“物理連接”。如果增加一個連接,連接池與數(shù)據(jù)庫的“物理連接”就增加一個;如果減少一個連接。連接池與數(shù)據(jù)庫的“物理連接”就減少一個。

        4、連接池中的連接

        4.1連接增加

        連接池由唯一的連接字符串創(chuàng)建。一旦連接池被建立,就立即建立由最小連接數(shù)量指定的連接。如果只有一個連接被占用,那么其它的連接為池里“可用的”連接。如果某進(jìn)程有連接請求,而且請求的連接的連接串與該進(jìn)程的某個連接池的連接串相同,那么如果該連接池里有“可用的”連接,就從連接池里取出一個“可用的”連接使用,如果沒有“可用的”連接就建立新的連接。

        一旦程序運行連接的Close()方法后,“被占用的”連接被釋放回連接池變?yōu)椤翱捎玫摹边B接。如果連接已經(jīng)達(dá)到最大連接數(shù),并且所有連接都被占用,新的連接請求需要等待。如果有被占用的連接釋放回連接池,那么請求得到連接;如果請求等待超過連接時間,程序會拋出異常。

        4.2 連接的減少

        通常,對于如下兩種情況,連接池里的連接會減少。其一、每當(dāng)一個連接使用完后釋放回連接池,如果當(dāng)前時間減去該連接建立的時間的值大于Connection Lifetime設(shè)定的值,該連接被銷毀。其二、當(dāng)發(fā)現(xiàn)某個連接對應(yīng)的“物理連接”斷開時,該連接被銷毀。

        5、連接遺漏

        如何避免連接的泄漏,請注意下面幾點:其一、使用CommandBehavior.CloseConnection作為ExecuteReader參數(shù),否則在多層結(jié)構(gòu)的系統(tǒng)中,如果中間層向表現(xiàn)層返回DataReader,在表現(xiàn)層中關(guān)閉DataReader時不會關(guān)閉連接,就會造成連接遺漏。其二、執(zhí)行DataAdapter的Fill和Update方法時,如果連接沒有打開,那么DataAdapter會自動打開連接,執(zhí)行完操作后自動關(guān)閉連接;但如果連接已經(jīng)打開,DataAdapter執(zhí)行操作后需要手動關(guān)閉連接。

        綜合來看,數(shù)據(jù)連接池在數(shù)據(jù)庫操作中有著重要的作用,但在使用時,完全不必?fù)?dān)心如何去管理數(shù)據(jù)連接池,它時由Data Provider自動管理的,應(yīng)用程序默認(rèn)采用數(shù)據(jù)連接池管理模式,在進(jìn)行應(yīng)用程序開發(fā)時,應(yīng)注意連接的打開后的關(guān)閉,保證數(shù)據(jù)庫的正常使用。

        猜你喜歡
        調(diào)用進(jìn)程應(yīng)用程序
        核電項目物項調(diào)用管理的應(yīng)用研究
        債券市場對外開放的進(jìn)程與展望
        中國外匯(2019年20期)2019-11-25 09:54:58
        刪除Win10中自帶的應(yīng)用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        社會進(jìn)程中的新聞學(xué)探尋
        我國高等教育改革進(jìn)程與反思
        Linux僵死進(jìn)程的產(chǎn)生與避免
        利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        午夜男女视频一区二区三区| 老师翘臀高潮流白浆| 国产精品无码不卡一区二区三区| 亚洲女同精品一区二区久久| 精品免费看国产一区二区白浆| 美女一区二区三区在线视频| 日韩乱码中文字幕在线| а天堂中文最新一区二区三区| 婷婷丁香五月中文字幕| 国产精品18久久久久久首页| 在线观看国产成人av片| 亚洲人成人99网站| 午夜黄色一区二区不卡| 男奸女永久免费视频网站| 国产亚洲成av人片在线观黄桃| 国产精品三级在线观看无码| 精品国产亚洲一区二区三区演员表| 中文字幕中乱码一区无线精品| 亚洲最大一区二区在线观看| 色婷婷综合久久久中文字幕| 久久久久久免费毛片精品| 粉嫩高中生无码视频在线观看| 亚洲一区二区三区1区2区| 精品人妻一区二区三区浪人在线 | 日本精品视频二区三区| 亚洲成在人线av品善网好看| 国产精品一区二区 尿失禁| 99久久无色码中文字幕鲁信| 大香蕉国产av一区二区三区| 强开少妇嫩苞又嫩又紧九色| 亚洲精品国偷自产在线99正片| 香蕉亚洲欧洲在线一区| 一区二区三区日本视频| 久久精品中文字幕| 女厕厕露p撒尿八个少妇| 在线a人片免费观看国产| 亚洲性av少妇中文字幕| 亚洲av乱码一区二区三区林ゆな | 久亚洲一线产区二线产区三线麻豆| 国产特级毛片aaaaaa高潮流水| 日本爽快片18禁免费看|