主頁(yè) > 知識(shí)庫(kù) > ADO.NET之連接池技術(shù)的使用詳解

ADO.NET之連接池技術(shù)的使用詳解

熱門標(biāo)簽:長(zhǎng)春呼叫中心外呼系統(tǒng)哪家好 地圖標(biāo)注和認(rèn)領(lǐng) 萊蕪?fù)夂綦婁N機(jī)器人價(jià)格 鄭州400電話辦理 聯(lián)通 電銷語(yǔ)音自動(dòng)機(jī)器人 戶外地圖標(biāo)注軟件手機(jī)哪個(gè)好用 五常地圖標(biāo)注 智能電話營(yíng)銷外呼系統(tǒng) 凱立德導(dǎo)航官網(wǎng)地圖標(biāo)注

連接到數(shù)據(jù)庫(kù)服務(wù)器通常需要一定的時(shí)間,且服務(wù)器也需要一定的資源來(lái)處理連接。Web應(yīng)用程序有時(shí)處理成千上萬(wàn)的連接,需要相當(dāng)多的資源來(lái)處理連接。ADO.NET具有連接池的特性,連接池的功能是保留一定數(shù)量的連接,當(dāng)用戶使用相同的連接字符串再次連接服務(wù)器時(shí),ASO.NET將使用連接池中的連接而不用重新發(fā)起一次連接過(guò)程。當(dāng)調(diào)用Close方法關(guān)閉連接時(shí),ADO.NET將使用連接池中的連接而不用重新發(fā)起一次連接過(guò)程。當(dāng)調(diào)用Close方法關(guān)閉連接時(shí),連接將會(huì)返回到連接池中,下次再次調(diào)用Open方法時(shí),將從連接池中取出一個(gè)連接使用。

數(shù)據(jù)庫(kù)連接字符串默認(rèn)為啟用連接池。使用連接池可以在連接字符串中用pooling=true/false來(lái)控制,設(shè)置連接池最大值和最小值可以使用Max Pool Size=200;Min Pool Size=1; 進(jìn)行控制。

下邊新建一個(gè)控制臺(tái)應(yīng)用程序來(lái)演示連接池的使用,其實(shí)我們僅僅是在Connection String中使用pooling=false/true來(lái)控制,默認(rèn)是使用連接池技術(shù)的,也就是pooling=true:

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Threading;

namespace ConsoleApplication1
{
    class Program
    {
        private static readonly string connectionString1 = @"Data Source=.;Initial Catalog=Northwind;Integrated Security=True;pooling=true;";//默認(rèn)值即為true,所以可省略pooling=true
        private static readonly string connectionString2 = @"Data Source=.;Initial Catalog=Northwind;Integrated Security=True;pooling=false;";
        static void Main(string[] args)
        {
            long startTicks1 = DateTime.Now.Ticks;
            using (SqlConnection conn1 = new SqlConnection(connectionString1))
            {
                for (int i = 0; i 100; i++)
                {
                    conn1.Open();
                    conn1.Close();
                }
            }
            long endTicks1 = DateTime.Now.Ticks;
            long usedTicks1 = endTicks1 - startTicks1;
            Console.WriteLine("Used time: " + usedTicks1);

            long startTicks2 = DateTime.Now.Ticks;
            using (SqlConnection conn2 = new SqlConnection(connectionString2))
            {
                for (int i = 0; i 100; i++)
                {
                    conn2.Open();
                    conn2.Close();
                }
            }
            long endTicks2 = DateTime.Now.Ticks;
            long usedTicks2 = endTicks2 - startTicks2;
            Console.WriteLine("Used time: " + usedTicks2);

        }

 

    }

}


輸出結(jié)果:
復(fù)制代碼 代碼如下:

pooling=true: 710040
pooling=false: 3100177

您可能感興趣的文章:
  • ADO.NET EF中的實(shí)體修改方法
  • ADO.NET 連接數(shù)據(jù)庫(kù)字符串小結(jié)(Oracle、SqlServer、Access、ODBC)
  • ADO.NET實(shí)體數(shù)據(jù)模型詳細(xì)介紹
  • ADO.NET中的五個(gè)主要對(duì)象的詳細(xì)介紹與應(yīng)用
  • ADO.Net 類型化DataSet的簡(jiǎn)單介紹
  • ASP.NET中實(shí)現(xiàn)把Json數(shù)據(jù)轉(zhuǎn)換為ADO.NET DataSet對(duì)象
  • ADO.NET編程之基礎(chǔ)知識(shí)
  • ADO.NET基礎(chǔ)知識(shí)匯總

標(biāo)簽:紅河 西藏 宣城 岳陽(yáng) 西寧 福州 湖州 衢州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ADO.NET之連接池技術(shù)的使用詳解》,本文關(guān)鍵詞  ADO.NET,之,連接,池,技術(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ADO.NET之連接池技術(shù)的使用詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于ADO.NET之連接池技術(shù)的使用詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章