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

實踐ADO.Net Team相關(guān)學習

開發(fā) 后端
對于ADO.Net Team的學習,首先碰到的就是環(huán)境的配置。以前學的Visual Studio2003,但并沒有怎么用。所以有一個星期的時間基本是在用實踐著.net 1.0。

ADO.Net Team如何設(shè)置呢?要修改Connection Pool 唯一的方式就是通過設(shè)定ADO.Net Team來完成。此屬性代表是否需要使用到連接池,默認為True,如果指定為False,不使用連接池。

Pooling (true)When true, the connection is drawn from the appropriate pool, or if necessary, created and added to the appropriate pool.此屬性代表是否需要使用到連接池,默認為True,如果指定為False,ADO.Net Team不使用連接池。

這個屬性表示一個Connection的有效時間,如果一個Connection返回到ConnectionPool的時候,超過了ADO.Net Team時間,這個連接不會再次放到Connection。當下一個請求發(fā)來時,ADO.Net會新建一個Connection。

這個屬性主要使用于群集的SQL數(shù)據(jù)庫中,用于負載平衡。可能大家經(jīng)??吹骄W(wǎng)絡(luò)上有很多文檔以及MSDN站點都推薦大家使用using(sqlconnection cn=new sqlconnection()){}這樣的方式來創(chuàng)建Connection,因為當超過{}后,.net framwork會自動執(zhí)行Connection.dispose()方法,所以能夠確保Connetion被及時的關(guān)閉。

那么及時的調(diào)用.dispose()真的這么重要么,如果一個對象超出了生存空間,在.ADO.Net Team中不是會自動被GC(垃圾回收器)自動清理的么?

這個問題其實是由于GC導致的,.net中使用的GC,他對于工作并不像我們這樣勤奮。ADO.Net Team只有當外界環(huán)境極其惡劣的時候(沒有足夠的內(nèi)容分配的時候)他才會動手打掃衛(wèi)生(清理不使用的對象)。所以對于Connection 即使超出了變量的生命周期,它可能還沒有被GC干掉。#t#

依舊未將Connection返回給Connection Pool。所以這就導致了下一個連接可能會有Connection Pool中沒有Available的Connection而從新打開一個新的連接,無端的浪費了多余的性能。所以ADO.Net Team反復(fù)強調(diào)要及時的關(guān)閉當前的連接。一個最好的方法就是使用using{}block 系統(tǒng)會在退出{}的時候自動調(diào)用connection.dispose方法,而dispose會自動去執(zhí)行close方法,釋放當前的connection。

其實Connection.dispose方法就是call了一次close方法,所以兩者是等同的。也就是說,如果您及時的執(zhí)行了connection.close()方法,就沒有必要必須再把connection包裹在一個using(){}中。如果使用using 是必需的,那么如果程序結(jié)構(gòu)導致我無法使用using(){}來包裹我的Connection,比如說我的ADO.Net TeamConnection是同一個help類返回的,那我又怎么辦呢?

這是一個經(jīng)常遇到的問題。在這樣的環(huán)境中,我們無法將整個connection包裹在一個connection中。解決這樣的方法有兩個,一個就是修改您的代碼結(jié)構(gòu)。傳入一個ConnectionString來返回Connection。另一個方法就是反復(fù)檢查您的代碼,是否及時關(guān)閉了ADO.Net Team。因為Close的效果與dispose是相同的。但是如果不使用using(){}這個及時關(guān)閉Connection的任務(wù)就等于是交到了我們自己的手上,而不再由.net framework為我們把關(guān)了。

責任編輯:chenqingxiang 來源: 機械工業(yè)出版社
相關(guān)推薦

2009-12-29 16:33:35

ADO.Net Tea

2009-12-22 09:50:23

ADO.NET學習

2009-12-21 16:45:41

ADO.NET程序

2009-12-22 15:20:25

ADO.NET功能

2009-07-06 10:43:51

ADO.NET

2009-12-23 11:25:30

ADO.NET處理

2009-12-21 17:35:24

ADO.NET對象

2009-12-21 15:58:19

ADO.NET集合

2009-12-25 10:25:59

2009-12-22 13:34:48

ADO.Net Tea

2009-12-24 09:14:52

ADO.Net Tea

2010-05-24 09:49:47

ADO.NET

2009-12-22 10:27:01

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

2009-12-21 13:59:03

ADO.NET特性

2009-12-28 15:46:22

ADO.NET操作

2009-12-29 14:24:40

使用ADO.NET

2009-12-24 16:09:42

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

2009-12-22 10:15:17

ADO.NET規(guī)則

2009-12-28 15:32:04

ADO.NET構(gòu)造

2009-12-18 16:44:57

ADO.NET統(tǒng)計
點贊
收藏

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