第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

“打開/關(guān)閉” SqlConnection還是保持打開狀態(tài)?

“打開/關(guān)閉” SqlConnection還是保持打開狀態(tài)?

慕尼黑的夜晚無繁華 2019-10-28 10:15:37
我用靜態(tài)方法在簡單的靜態(tài)類中實(shí)現(xiàn)了我的業(yè)務(wù)邏輯。這些方法中的每一個(gè)在調(diào)用時(shí)都會(huì)打開/關(guān)閉SQL連接:public static void DoSomething(string something){    using (SqlConnection connection = new SqlConnection("..."))    {        connection.Open();        // ...        connection.Close();    }}但是我認(rèn)為避免打開和關(guān)閉連接會(huì)節(jié)省性能。不久前,我用OleDbConnection類(不確定SqlConnection)進(jìn)行了一些測試,它確實(shí)可以像這樣工作(據(jù)我所記得)://pass the connection object into the methodpublic static void DoSomething(string something, SqlConnection connection){    bool openConn = (connection.State == ConnectionState.Open);    if (!openConn)    {        connection.Open();    }    // ....    if (openConn)     {        connection.Close();    }}所以問題是-我應(yīng)該選擇方法(a)還是方法(b)?我讀到另一個(gè)stackoverflow問題,即連接池為我節(jié)省了性能,我完全不必費(fèi)心...PS。這是一個(gè)ASP.NET應(yīng)用程序-連接僅在Web請求期間存在。不是Win-App或服務(wù)。
查看完整描述

3 回答

?
瀟湘沐

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊

堅(jiān)持選擇a。


連接池是您的朋友。


查看完整回答
反對(duì) 回復(fù) 2019-10-28
?
至尊寶的傳說

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊

每次使用方法(a)。當(dāng)您開始擴(kuò)展應(yīng)用程序時(shí),處理狀態(tài)的邏輯將變得非常痛苦。

連接池按錫說的做。只需考慮一下在應(yīng)用程序擴(kuò)展時(shí)會(huì)發(fā)生什么,以及手動(dòng)管理連接打開/關(guān)閉狀態(tài)會(huì)有多困難。連接池在自動(dòng)處理此方面做得很好。如果您擔(dān)心性能,請考慮使用某種內(nèi)存緩存機(jī)制,以防止任何阻塞。


查看完整回答
反對(duì) 回復(fù) 2019-10-28
?
BIG陽

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

處理完連接后,請務(wù)必立即關(guān)閉它們,以便它們的基礎(chǔ)數(shù)據(jù)庫連接可以返回到池中,并可供其他調(diào)用者使用。連接池的優(yōu)化非常好,因此這樣做沒有明顯的損失。該建議與交易基本相同-完成后,請保持簡短。

如果您在使用多個(gè)連接的代碼周圍使用單個(gè)事務(wù)遇到MSDTC問題,則情況將變得更加復(fù)雜,在這種情況下,您實(shí)際上必須共享連接對(duì)象,并且僅在完成事務(wù)后才關(guān)閉它。

但是,您在這里是手工做的,因此您可能需要研究為您管理連接的工具,例如DataSet,Linq to SQL,Entity Framework或NHibernate。


查看完整回答
反對(duì) 回復(fù) 2019-10-28
  • 3 回答
  • 0 關(guān)注
  • 609 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)