日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何理解ADO.NetTeam工作使用說明

對(duì)于ADO.Net Team的推出。數(shù)據(jù)庫讀取技術(shù)也由原本的ADO進(jìn)化為ADO.Net。技術(shù)人員和程序員大大的期盼,ADO.Net較ADO提供了更便捷的數(shù)據(jù)庫讀寫能力以及優(yōu)秀的性能。

在市南等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),成都營銷網(wǎng)站建設(shè),外貿(mào)營銷網(wǎng)站建設(shè),市南網(wǎng)站建設(shè)費(fèi)用合理。

Connection Pool是ADO.Net一個(gè)用來提高性能的重要功能。但是對(duì)于Connection Pool的機(jī)制卻很少有文檔涉及,所以對(duì)于Connection Pool的排錯(cuò),一直都是一個(gè)很棘手的問題。對(duì)于OLEDB以及ODBC, 連接池是由Driver決定的。對(duì)于Oracle的數(shù)據(jù)庫,一般而言,8.0以上的版本都建議使用Oracle提供的ODP.Net。所以此文主要探討一下ADO.Net Team

Connection Pool 是什么呢 ?
每當(dāng)程序需要讀寫數(shù)據(jù)庫的時(shí)候。Connection.Open()會(huì)使用ADO.Net Team,數(shù)據(jù)庫會(huì)為程序建立一個(gè)連接,并且保持打開狀態(tài),此后程序就可以使用T-SQL語句來查詢/更新數(shù)據(jù)庫。當(dāng)執(zhí)行到Connection.Close()后,數(shù)據(jù)庫就會(huì)關(guān)閉當(dāng)前的連接。很好,一切看上去都是如此有條不紊。

但是如果我的程序需要不定時(shí)的打開和關(guān)閉連接,(比如說 ASP.Net 或是 Web Service ),例如當(dāng)Http Request發(fā)送到服務(wù)器的時(shí)候、,我們需要打開Connection 然后使用Select* from Table 返回一個(gè)DataTable/DataSet給客戶端/瀏覽器,然后關(guān)閉當(dāng)前的Connection。那每次都Open/Close Connection 如此的頻繁操作對(duì)于整個(gè)系統(tǒng)無疑就成了一種浪費(fèi)。ADO.Net Team就給出了一個(gè)比較好地解決方法。將先前的Connection保存起來,當(dāng)下一次需要打開連接的時(shí)候就將先前的Connection 交給下一個(gè)連接。這就是Connection Pool。#t#

Connection Pool 如何工作的?
首先當(dāng)一個(gè)程序執(zhí)行Connection.open()時(shí)候,ADO.Net Team就需要判斷,此連接是否支持Connection Pool (Pooling 默認(rèn)為True),如果指定為False, ADO.net就與數(shù)據(jù)庫之間創(chuàng)建一個(gè)連接(為了避免混淆,所有數(shù)據(jù)庫中的連接,都使用”連接”描述),然后返回給程序。如果指定為True,ADO.net就會(huì)根據(jù)ConnectString創(chuàng)建一個(gè)Connection Pool,然后向Connection Pool中填充Connection(所有.net程序中的連接,都使用”Connection”描述)。

填充多少個(gè)Connection由Min Pool Size (默認(rèn)為0)屬性來決定。例如如果指定為5,則ADO.net會(huì)一次與SQL數(shù)據(jù)庫之間打開5個(gè)連接,然后將4個(gè)Connection,保存在Connection Pool中,1個(gè)Connection返回給程序。

當(dāng)程序執(zhí)行到Connection.close() 的時(shí)候。如果Pooling 為True,ADO.Net Team就把當(dāng)前的Connection放到Connection Pool并且保持與數(shù)據(jù)庫之間的連接。同時(shí)還會(huì)判斷Connection Lifetime(默認(rèn)為0)屬性,0代表無限大,如果Connection存在的時(shí)間超過了Connection LifeTime,ADO.net就會(huì)關(guān)閉的Connection同時(shí)斷開與數(shù)據(jù)庫的連接,而不是重新保存到Connection Pool中。(這個(gè)設(shè)置主要用于群集的SQL 數(shù)據(jù)庫中,達(dá)到負(fù)載平衡的目的)。如果Pooling指定為False,則直接斷開與數(shù)據(jù)庫之間的連接。

然后當(dāng)下一次Connection.Open() 執(zhí)行的時(shí)候,ADO.Net Team就會(huì)判斷新的ConnectionString與之前保存在Connection Pool中的Connection的connectionString是否一致。(ADO.Net會(huì)將ConnectionString轉(zhuǎn)成二進(jìn)制流,所以也就是說,新的ConnectionString與保存在Connection Pool中的Connection的ConnectionString必須完全一致。

即使多加了一個(gè)空格,或是修改了ADO.Net Team中某些屬性的次序都會(huì)讓ADO.Net認(rèn)為這是一個(gè)新的連接,而從新創(chuàng)建一個(gè)新的連接。所以如果您使用的UserID,Password的認(rèn)證方式,修改了Password也會(huì)導(dǎo)致一個(gè)Connection,如果使用的是SQL的集成認(rèn)證,就需要保存兩個(gè)連接使用的是同一個(gè))。


網(wǎng)頁名稱:如何理解ADO.NetTeam工作使用說明
文章起源:http://www.dlmjj.cn/article/dpscihs.html