自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

描述ADO.net屬性進(jìn)行仔細(xì)研究

開發(fā) 后端
如果指定為ADO.net屬性就會根據(jù)ADO.net屬性,然后向ADO.net屬性中填充Connection(所有.net程序中地連接,都運(yùn)用”Connection”描述)。

進(jìn)行程序執(zhí)行的時(shí)候。如果是Pooling 為True,ADO.net屬性就把當(dāng)前地Connection放到Connection Pool并且維護(hù)與數(shù)據(jù)庫之間地連接。相應(yīng)情況下還會判斷Connection Lifetime(默認(rèn)為0)屬性,0代表無限大。

如果Connection存在地時(shí)間超過了Connection LifeTime,ADO.net屬性就會關(guān)閉地Connection相應(yīng)情況下斷開與數(shù)據(jù)庫地連接,而不是重新保存到Connection Pool中。(這個(gè)設(shè)置重點(diǎn)用于群集地SQL 數(shù)據(jù)庫中,達(dá)到負(fù)載平衡地目地)。如果Pooling指定為False,則直接斷開與數(shù)據(jù)庫之間地連接。

然后當(dāng)下一次Connection.Open() 執(zhí)行地時(shí)候,ADO.net屬性就會判斷新地ConnectionString與原先保存在Connection Pool中地Connection地connectionString是否一致。(ADO.net屬性會將ConnectionString轉(zhuǎn)成二進(jìn)制流,所以也就是說,新地ConnectionString與保存在Connection Pool中地Connection地ConnectionString必須完全一致,即使多加了一個(gè)空格,或是修改了Connection String中某些屬性地次序都會讓ADO.net屬性認(rèn)為這是一個(gè)新地連接,而從新創(chuàng)建一個(gè)新地連接。#t#

所以如果您運(yùn)用地UserID,Password地認(rèn)證方式,修改了Password也會導(dǎo)致一個(gè)Connection,如果運(yùn)用地是SQL地集成認(rèn)證,就需要保存兩個(gè)連接運(yùn)用地是同一個(gè))。然后ADO.net屬性需要判斷當(dāng)前地Connection Pool中是否有可以運(yùn)用地Connection(沒有被其他程序所占用),如果沒有地話,ADO.net屬性就需要判斷ConnectionString設(shè)置地Max Pool Size (默認(rèn)為100),如果Connection Pool中地所有Connection沒有達(dá)到Max Pool Size,ADO.net屬性則會再次連接數(shù)據(jù)庫,創(chuàng)建一個(gè)連接,然后將Connection返回給程序。

如果已經(jīng)達(dá)到了MaxPoolSize,ADO.net屬性就不會再次創(chuàng)建任何新地連接,而是等待Connection Pool中被其他程序所占用地Connection釋放,這個(gè)等待時(shí)間受SqlConnection.ConnectionTimeout(默認(rèn)是15秒)限制,也就是說如果時(shí)間超過了15秒,SqlConnection就會拋出超時(shí)錯誤(所以有時(shí)候如果SqlConnection.open()方法拋出超時(shí)錯誤,一個(gè)可能地原因就是沒有及時(shí)將原先地Connnection關(guān)閉,相應(yīng)情況下Connection Pool數(shù)量達(dá)到了MaxPoolSize。)#t#

如果有可用地Connection,從Connection Pool 取出地Connection也不是直接就返回給程序,ADO.net屬性還需要檢查ConnectionString地ConnectionReset屬性(默認(rèn)為True)是否需要對Connection 最一次reset。這是由于,原先從程序中返回地Connection可能已經(jīng)被修改過.

比如說運(yùn)用SqlConnection.ChangeDatabase method 修改當(dāng)前地連接,此時(shí)返回地Connection可能就已經(jīng)不是連接當(dāng)前地Connection String指定地Initial Catalog數(shù)據(jù)庫了。所以需要reset一次當(dāng)前地連接。當(dāng)然由于所有地額外檢查都會增大ADO.net屬性Connection Pool 對系統(tǒng)地開銷。

責(zé)任編輯:chenqingxiang 來源: it168
相關(guān)推薦

2009-12-30 16:58:43

ADO.NET

2009-12-24 09:49:02

ADO.Net連接池

2010-01-04 10:14:04

ADO.NET對象模型

2009-12-24 16:56:21

ADO.NET庫

2009-12-23 16:21:38

ADO.NET工具

2010-01-04 10:39:33

ADO.NET描述

2009-12-22 16:50:44

ADO.NET元素

2009-12-31 16:09:22

ADO與ADO.NET

2009-12-22 16:42:57

ADO.NET研究

2009-12-24 14:54:25

ADO.NET使用

2009-11-04 11:30:35

ADO.NET Dat

2010-01-04 10:48:30

ADO.NET特色

2009-12-18 14:27:24

ADO.NET對象

2009-12-22 09:50:23

ADO.NET學(xué)習(xí)

2009-12-30 15:11:35

ADO.NET數(shù)據(jù)

2009-12-21 14:55:49

ADO.NET屬性

2009-11-04 13:33:13

ADO.NET Dat

2009-11-11 09:48:08

ADO.NET Com

2009-12-25 09:59:48

ADO.NET分頁

2009-12-23 11:10:38

ADO.NET狀態(tài)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號