成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何理解ADO.Net Team工作使用說明

開發 后端
本文向大家介紹ADO.Net Team,可能好多人還不了解ADO.Net Team,沒有關系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

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

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

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

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

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

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

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

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

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

責任編輯:chenqingxiang 來源: Sina
相關推薦

2009-12-18 14:20:26

ADO.NET組件

2009-12-18 13:52:39

ADO.NET設計器

2009-12-22 10:43:48

ADO.NET類庫

2009-12-18 15:11:50

ADO.NET類

2009-12-21 14:55:49

ADO.NET對象

2009-12-18 17:06:37

ADO.NET 數據庫

2009-12-23 14:53:28

ADO.NET連接池

2009-12-29 16:33:35

ADO.Net Tea

2009-12-21 14:55:49

ADO.NET類庫

2009-12-22 16:03:34

ADO.NET Ent

2009-12-23 09:14:52

ADO.NET連接池

2009-12-23 13:23:29

ADO.Net Sql

2009-12-21 16:07:52

ADO.NET數據庫

2009-12-18 17:16:47

ADO.NET連接數據

2009-12-30 15:58:42

ADO.NET數據庫編

2009-12-31 15:59:13

ADO.NET方案

2009-12-24 09:26:01

ADO.Net Tea

2009-12-21 14:39:09

ADO.NET技巧

2009-12-23 15:13:15

Ado.Net Syb

2009-12-30 15:21:55

ADO.NET訪問
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产区 | 黄色成人免费在线观看 | 麻豆av在线 | 精品久久久久久亚洲国产800 | 日本不卡一区 | 亚洲高清av| 亚州春色 | 亚洲va国产日韩欧美精品色婷婷 | 国产精品久久久久久久久久不蜜臀 | 天堂av中文在线 | 日韩在线一区二区三区 | 羞羞网站在线免费观看 | 国产一区二区三区四 | 久久99精品久久久97夜夜嗨 | 正在播放国产精品 | 欧美 日韩 亚洲91麻豆精品 | 国产在线精品一区二区三区 | 欧美激情一区二区 | 91高清在线观看 | 最新日韩在线 | 中文字幕在线观看 | 最新超碰| 视频1区2区 | 日韩电影一区 | 久久影音先锋 | 久久久精品日本 | 欧美韩一区二区三区 | 精品欧美一区二区三区精品久久 | 国产欧美精品区一区二区三区 | 国外成人免费视频 | 午夜午夜精品一区二区三区文 | 精品国产一二三区 | 国产精品久久久久9999鸭 | 日韩综合一区 | 亚洲精品成人在线 | 日韩国产一区二区 | 成人免费福利视频 | 伊人手机在线视频 | 亚洲码欧美码一区二区三区 | 久久er99热精品一区二区 | 国产精品久久久久久久久久东京 |