中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

贛縣網(wǎng)站建設(shè)國內(nèi)新聞最新消息十條

贛縣網(wǎng)站建設(shè),國內(nèi)新聞最新消息十條,制作網(wǎng)站怎樣找公司來幫做,wordpress標(biāo)簽歸檔.NET開源 ORM 框架 SqlSugar 系列 【開篇】.NET開源 ORM 框架 SqlSugar 系列【入門必看】.NET開源 ORM 框架 SqlSugar 系列【實(shí)體配置】.NET開源 ORM 框架 SqlSugar 系列【Db First】.NET開源 ORM 框架 SqlSugar 系列【Code First】.NET開源 ORM 框架 SqlSugar 系列【數(shù)據(jù)事務(wù)…

?.NET開源 ORM 框架 SqlSugar 系列

  1. 【開篇】.NET開源 ORM 框架 SqlSugar 系列
  2. 【入門必看】.NET開源 ORM 框架 SqlSugar 系列
  3. 【實(shí)體配置】.NET開源 ORM 框架 SqlSugar 系列
  4. 【Db First】.NET開源 ORM 框架 SqlSugar 系列
  5. 【Code First】.NET開源 ORM 框架 SqlSugar 系列
  6. 【數(shù)據(jù)事務(wù)】.NET開源 ORM 框架 SqlSugar 系列
  7. 【連接池】.NET開源 ORM 框架 SqlSugar 系列-CSDN博客

1. ADO.NET?連接池

如何啟用和禁用連接池?

連接字符串中將連接池值 Pooling 設(shè)置為 true 或 yes,則會啟用連接池(默認(rèn)啟用)。

啟用后連接池后系統(tǒng)會根據(jù)并發(fā)情況將連接池保持在一個合理區(qū)間,讓性能最大化,并不會立馬清空。而是將他狀態(tài)更改為sleep。禁用連接池性能會差一些,open就打開連接池 close就關(guān)閉連接池。

1.1 Open()?

1、啟用連接池情況(默認(rèn))

先找有沒有睡眠的連接池有恢復(fù)連接池,如果沒有睡眠的連接池打開新的連接池

2、禁用連接池情況(需要字符串關(guān)閉)

打開新連接池

1.2 Close ()

1、啟用連接池情況(默認(rèn))

將現(xiàn)有連接池睡眠

2、禁用連接池情況(需要字符串關(guān)閉)

關(guān)閉連接池

1.3 dispose()

方法實(shí)際是和 close()做的同一件事,唯一區(qū)別是 dispose?會銷毀當(dāng)前C#對象

SqlSugar dispose后在打開不會報(bào)錯,原理如下:

 var db = GetInstance();db.Open();Console.WriteLine(db.Ado.Connection.GetHashCode());db.Close();Console.WriteLine(db.Ado.Connection.GetHashCode());db.Dispose();//如果下次在使用db會new出新的SqlConnection和Ado.net不一樣Ado.net是直接報(bào)錯Console.WriteLine(db.Ado.Connection.GetHashCode());

輸出結(jié)果如下:

image.png

唯一的區(qū)別是Dispose后在使用db,db對象會換成新的而不在是以前的,而close后在使用還是同一個db對象。

2、SqlConnection和連接池

SqlConnection?非線程安全對象,不同上下文要new不同對象

con.Open(); //請求數(shù)據(jù)庫連接池 查找有沒有 sleep 狀態(tài)的,沒有創(chuàng)建連接池
con.Close();//將當(dāng)前連接池狀態(tài)改為sleep , 如果長時間不用會銷毀

上面的原理可以看出

1. 同一個對象多次 open?和 close?都是在現(xiàn)有的連接池里面去操作

2. 就算是多個SqlConnection不在同時間請求,也可能會用同一個連接池?

3.多個SqlConnection?并發(fā)操作會找有沒有空閑的連接池,沒有在創(chuàng)建

所以連接池在.NET中?微軟封裝的很好,很成熟?多數(shù).NET用戶都不知道是什么玩意兒。

連接超時設(shè)置

在連接池符串加上 Connection Timeout=10  ,默認(rèn)是30秒,單位秒

.NET中要配置連接池嗎?

?答:什么都不用配置只要學(xué)會 open 和 close就行了?

3、SqlSugarClient原理

1.手動釋放模式和SqlConnection原理一模一樣,底層就是用的SqlConnection并且需要注意線程安全

//創(chuàng)建數(shù)據(jù)庫對象 SqlSugarClient   SqlSugarClient db = new SqlSugarClient(new ConnectionConfig(){ConnectionString = "Server=.xxxxx", DbType = DbType.SqlServer,IsAutoCloseConnection = false//手動釋放  是長連接 });//需要手動using //或者//db.Open();//db.Close();

2.自動釋放(推薦),說白了不需要你去寫?using 或者 close和open


//創(chuàng)建數(shù)據(jù)庫對象 SqlSugarClient   SqlSugarClient db = new SqlSugarClient(new ConnectionConfig(){ConnectionString = "Server=.xxxxx", DbType = DbType.SqlServer,IsAutoCloseConnection = true//自動釋放});//寫代碼就不需要考慮 open close 直接用就行了

?情況1: 沒有事務(wù)的情況 ,每次操作自動調(diào)用 open和close

?情況2:?有事務(wù)的情況下 ,開啟事務(wù)調(diào)用 open? 提交或者回滾事務(wù)調(diào)用 close

4、SqlSugarScope原理

它是對 SqlSugarClient 的封裝讓他支持線程安全,并且在不同上下文自動new?出?SqlSugarClient,在編寫代碼的時候不需要考慮他線程是否安全

什么是上下文?

異步情況:?在同一串a(chǎn)wait?中是一個上下文

同步情況:?在同一個線程是同一個上下文

同一個SqlSugarScope?做到了在同一個上下文共享一個對象,不同上下文自動去NEW

5、如何驗(yàn)證是否釋放

默認(rèn)情況下只要超過100個請求沒關(guān)閉就會報(bào)錯,不同庫可能有差異

         for (int i = 0; i < 501; i++){SqlSugarClient db = new SqlSugarClient(new ConnectionConfig(){DbType = DbType.Oracle,ConnectionString = Config.ConnectionString,IsAutoCloseConnection = false//設(shè)成關(guān)閉這個代碼會直接報(bào)錯});db.Ado.GetInt("SELECT 1 from dual"); }//IsAutoCloseConnection=true 執(zhí)行成功//IsAutoCloseConnection=false 會出現(xiàn)連接池超時或者超過上限等錯誤

6、總結(jié)

他們3者的關(guān)系應(yīng)該是這樣的:

  1. SqlSugarScope?底層+自動釋放+上下文安全
  2. SqlSugarClient? 底層+自動釋放控制
  3. SqlConnection? ?底層
http://www.risenshineclean.com/news/38501.html

相關(guān)文章:

  • h5開發(fā)教程哈爾濱seo網(wǎng)站管理
  • 做網(wǎng)站賺錢的時代過去了嗎百度地圖導(dǎo)航
  • 網(wǎng)站設(shè)置默認(rèn)首頁網(wǎng)絡(luò)營銷網(wǎng)
  • 萬戶網(wǎng)站免費(fèi)手游推廣平臺
  • 杭州國外網(wǎng)站推廣公司站長之家 站長工具
  • 網(wǎng)站開發(fā)與實(shí)訓(xùn)報(bào)告企業(yè)優(yōu)化推廣
  • 北京網(wǎng)站建設(shè)w億瑪酷1訂制網(wǎng)站策劃方案
  • 網(wǎng)站開發(fā)業(yè)務(wù)需求分析今日熱點(diǎn)新聞
  • 辦公室局域網(wǎng)怎么搭建seo 資料包怎么獲得
  • wordpress小清新模板鄭州網(wǎng)站優(yōu)化推廣
  • 網(wǎng)站搬家 備案短視頻培訓(xùn)要多少學(xué)費(fèi)
  • 個人博客網(wǎng)站制作教程網(wǎng)店如何引流與推廣
  • 小說網(wǎng)站代理網(wǎng)絡(luò)營銷的推廣
  • 前端不會wordpress班級優(yōu)化大師頭像
  • 網(wǎng)站建設(shè)問題分類和排除方法分析優(yōu)化大師win10能用嗎
  • 外貿(mào)建站上海成都seo工程師
  • 微信手機(jī)網(wǎng)頁登錄入口站長工具seo診斷
  • 網(wǎng)站開發(fā)即時聊天源碼百度搜索指數(shù)排行榜
  • 濟(jì)南wordpress 建站線上營銷推廣方式有哪些
  • 門戶網(wǎng)站系統(tǒng)有哪些平臺seo優(yōu)化方法網(wǎng)站快速排名推廣渠道
  • 網(wǎng)站的技術(shù)解決方案長沙seo網(wǎng)站推廣
  • wordpress加sliderwin7怎么優(yōu)化最流暢
  • wordpress會員地址石家莊百度快照優(yōu)化
  • 做企業(yè)網(wǎng)站用哪個軟件長沙大型網(wǎng)站建設(shè)公司
  • 網(wǎng)站開發(fā)的功能需求怎么寫最新的即時比分
  • 溫州網(wǎng)站建設(shè)推廣百度小說排行榜2021
  • 用word做旅游網(wǎng)站新聞危機(jī)公關(guān)
  • 未來做那些網(wǎng)站能致富推廣方案怎么做
  • 做網(wǎng)站 需要多少錢邯鄲seo營銷
  • wordpress英文版如何變成中文版網(wǎng)站seo標(biāo)題優(yōu)化技巧