pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

    <legend id='4PYoS'><style id='4PYoS'><dir id='4PYoS'><q id='4PYoS'></q></dir></style></legend>
      <bdo id='4PYoS'></bdo><ul id='4PYoS'></ul>
  1. <tfoot id='4PYoS'></tfoot>

    1. <small id='4PYoS'></small><noframes id='4PYoS'>

      <i id='4PYoS'><tr id='4PYoS'><dt id='4PYoS'><q id='4PYoS'><span id='4PYoS'><b id='4PYoS'><form id='4PYoS'><ins id='4PYoS'></ins><ul id='4PYoS'></ul><sub id='4PYoS'></sub></form><legend id='4PYoS'></legend><bdo id='4PYoS'><pre id='4PYoS'><center id='4PYoS'></center></pre></bdo></b><th id='4PYoS'></th></span></q></dt></tr></i><div class="vhzhhnt" id='4PYoS'><tfoot id='4PYoS'></tfoot><dl id='4PYoS'><fieldset id='4PYoS'></fieldset></dl></div>

      為什么我需要手動打開這個 .NET Core 數據庫連接,

      Why do I need to manually open this .NET Core database connection when usually Dapper auto opens it?(為什么我需要手動打開這個 .NET Core 數據庫連接,而通常 Dapper 會自動打開它?) - IT屋-程序員軟件開發技術分享
    2. <i id='JZxz2'><tr id='JZxz2'><dt id='JZxz2'><q id='JZxz2'><span id='JZxz2'><b id='JZxz2'><form id='JZxz2'><ins id='JZxz2'></ins><ul id='JZxz2'></ul><sub id='JZxz2'></sub></form><legend id='JZxz2'></legend><bdo id='JZxz2'><pre id='JZxz2'><center id='JZxz2'></center></pre></bdo></b><th id='JZxz2'></th></span></q></dt></tr></i><div class="tl7xvpn" id='JZxz2'><tfoot id='JZxz2'></tfoot><dl id='JZxz2'><fieldset id='JZxz2'></fieldset></dl></div>
          <tbody id='JZxz2'></tbody>
          <legend id='JZxz2'><style id='JZxz2'><dir id='JZxz2'><q id='JZxz2'></q></dir></style></legend>
            <bdo id='JZxz2'></bdo><ul id='JZxz2'></ul>
            <tfoot id='JZxz2'></tfoot>

            <small id='JZxz2'></small><noframes id='JZxz2'>

                本文介紹了為什么我需要手動打開這個 .NET Core 數據庫連接,而通常 Dapper 會自動打開它?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                限時送ChatGPT賬號..

                我正在嘗試使用 async/await 將一些記錄插入到數據庫中.如果我不手動打開連接,我會收到 Exception.如果我添加一些代碼來打開連接,那么一切正常.

                這是當前代碼(拋出異常):

                using (var connection = new SqlConnection(ConnectionString)){var tasks = new List();sellUrls.ForEach(url => tasks.Add(InsertUrlAsync(connection, url)));rentUrls.ForEach(url => tasks.Add(InsertUrlAsync(connection, url)));等待 Task.WhenAll(tasks);}...私有異步任務 InsertUrlAsync(IDbConnection 連接,字符串 url){const string query = "INSERT INTO ..";return await connection.ExecuteAsync(query, new { .. });}

                異常:

                <塊引用>

                消息:System.InvalidOperationException:操作無效.連接已關閉.

                但是當我將代碼更改為以下內容時,它起作用了:

                var tasks = new List();等待 connection.OpenAsync();sellUrls.ForEach(....) .. 等等...

                類似的問題:

                • Task.WhenAll,連接正在關閉
                • SqlConnection 在 using 語句中意外關閉

                解決方案

                Dapper 為您打開連接;但它也會在工作完成后關閉它.

                現在,您正在使用一個連接運行兩個獨立的 async 任務.

                <塊引用>

                soldUrls.ForEach(url => tasks.Add(InsertUrlAsync(connection, url)));rentUrls.ForEach(url => tasks.Add(InsertUrlAsync(connection, url)));

                兩個任務同時運行.當一項任務的工作完成時,它關閉連接.但是其他任務仍在運行,它不再有權訪問打開的連接,因此出現了您提到的異常.

                如您所說,如果您自己打開連接,Dapper 不會關閉它,一切正常.

                順便說一下,在并發使用連接實例時,可能會出現意想不到的問題.請參閱此問題了解更多詳情.

                I'm trying to use async/await to insert a number of records into a database. If I don't manually open the connection, I get an Exception. If I add some code to open the connection, then everything works ok.

                Here's the current code (which throws an Exception):

                using (var connection = new SqlConnection(ConnectionString))
                {
                    var tasks = new List<Task>();
                    soldUrls.ForEach(url => tasks.Add(InsertUrlAsync(connection, url))); 
                    rentUrls.ForEach(url => tasks.Add(InsertUrlAsync(connection, url)));
                    await Task.WhenAll(tasks);
                }
                
                ...
                
                private async Task InsertUrlAsync(IDbConnection connection, string url)
                {
                    const string query = "INSERT INTO ..";
                    return await connection.ExecuteAsync(query, new { .. });
                }
                

                the exception:

                Message: System.InvalidOperationException : Invalid operation. The connection is closed.

                but when I change the code to the following, it works:

                var tasks = new List<Task>();
                await connection.OpenAsync();
                soldUrls.ForEach(....) .. etc ... 
                
                

                Similar SO questions:

                • Task.WhenAll, connection is closing
                • SqlConnection closes unexpectedly inside using statement

                解決方案

                Dapper opens the connection for you; but it also closes it when work is done.

                Now, you are running two independent async tasks using one single connection.

                soldUrls.ForEach(url => tasks.Add(InsertUrlAsync(connection, url))); 
                rentUrls.ForEach(url => tasks.Add(InsertUrlAsync(connection, url)));
                

                Both the tasks are running simultaneously. When work of one task finish, it closes the connection. But other task is still running which does not have access to open connection anymore and hence the exception you mentioned in question.

                As you said, if you open the connection yourself, Dapper does not close it and everything just works fine.

                By the way, while using connection instance concurrently, there may be unexpected issues. Please refer to this question for more details.

                這篇關于為什么我需要手動打開這個 .NET Core 數據庫連接,而通常 Dapper 會自動打開它?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                相關文檔推薦

                Can I figure out a list of databases and the space used by SQL Server instances without writing SQL queries?(我可以在不編寫 SQL 查詢的情況下找出數據庫列表和 SQL Server 實例使用的空間嗎?) - IT屋-程序員軟件開發
                How to create a login to a SQL Server instance?(如何創建對 SQL Server 實例的登錄?)
                How to know the version and edition of SQL Server through registry search(如何通過注冊表搜索知道SQL Server的版本和版本)
                Why do I get a quot;data type conversion errorquot; with ExecuteNonQuery()?(為什么會出現“數據類型轉換錯誤?使用 ExecuteNonQuery()?)
                How to show an image from a DataGridView to a PictureBox?(如何將 DataGridView 中的圖像顯示到 PictureBox?)
                WinForms application design - moving documents from SQL Server to file storage(WinForms 應用程序設計——將文檔從 SQL Server 移動到文件存儲)
                  <bdo id='lwwTb'></bdo><ul id='lwwTb'></ul>
                      <tbody id='lwwTb'></tbody>
                    • <i id='lwwTb'><tr id='lwwTb'><dt id='lwwTb'><q id='lwwTb'><span id='lwwTb'><b id='lwwTb'><form id='lwwTb'><ins id='lwwTb'></ins><ul id='lwwTb'></ul><sub id='lwwTb'></sub></form><legend id='lwwTb'></legend><bdo id='lwwTb'><pre id='lwwTb'><center id='lwwTb'></center></pre></bdo></b><th id='lwwTb'></th></span></q></dt></tr></i><div class="nnljn19" id='lwwTb'><tfoot id='lwwTb'></tfoot><dl id='lwwTb'><fieldset id='lwwTb'></fieldset></dl></div>

                        <small id='lwwTb'></small><noframes id='lwwTb'>

                          <tfoot id='lwwTb'></tfoot>

                        1. <legend id='lwwTb'><style id='lwwTb'><dir id='lwwTb'><q id='lwwTb'></q></dir></style></legend>
                          主站蜘蛛池模板: 奥运星-汽车性能网评-提供个性化汽车资讯 | 滑板场地施工_极限运动场地设计_滑板公园建造_盐城天人极限运动场地建设有限公司 | 海日牌清洗剂-打造带电清洗剂、工业清洗剂等清洗剂国内一线品牌 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 | 槽钢冲孔机,槽钢三面冲,带钢冲孔机-山东兴田阳光智能装备股份有限公司 | 电竞馆加盟,沈阳网吧加盟费用选择嘉棋电竞_售后服务一体化 | 网站优化公司_SEO优化_北京关键词百度快速排名-智恒博网络 | 2025福建平潭岛旅游攻略|蓝眼泪,景点,住宿攻略-趣平潭网 | 集菌仪_智能集菌仪_全封闭集菌仪_无菌检查集菌仪厂家-那艾 | 无锡网站建设-做网站-建网站-网页设计制作-阿凡达建站公司 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 深圳激光打标机_激光打标机_激光焊接机_激光切割机_同体激光打标机-深圳市创想激光科技有限公司 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 商用绞肉机-熟肉切片机-冻肉切丁机-猪肉开条机 - 广州市正盈机械设备有限公司 | 法兰连接型电磁流量计-蒸汽孔板节流装置流量计-北京凯安达仪器仪表有限公司 | 考勤系统_人事考勤管理系统_本地部署BS考勤系统_考勤软件_天时考勤管理专家 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 金属波纹补偿器厂家_不锈钢膨胀节价格_非金属伸缩节定制-庆达补偿器 | 实验室pH计|电导率仪|溶解氧测定仪|离子浓度计|多参数水质分析仪|pH电极-上海般特仪器有限公司 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 振动筛,震动筛,圆形振动筛,振动筛价格,振动筛厂家-新乡巨宝机电 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 液压中心架,数控中心架,自定心中心架-烟台恒阳机电设计有限公司 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 液压扳手-高品质液压扳手供应商 - 液压扳手, 液压扳手供应商, 德国进口液压拉马 | 北京百度网站优化|北京网站建设公司-百谷网络科技| 智能电表|预付费ic卡水电表|nb智能无线远传载波电表-福建百悦信息科技有限公司 | 六维力传感器_六分量力传感器_模腔压力传感器-南京数智微传感科技有限公司 | 无线讲解器-导游讲解器-自助讲解器-分区讲解系统 品牌生产厂家[鹰米讲解-合肥市徽马信息科技有限公司] | 水冷散热器_水冷电子散热器_大功率散热器_水冷板散热器厂家-河源市恒光辉散热器有限公司 | 水稻烘干机,小麦烘干机,大豆烘干机,玉米烘干机,粮食烘干机_巩义市锦华粮食烘干机械制造有限公司 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 纸箱抗压机,拉力机,脂肪测定仪,定氮仪-山东德瑞克仪器有限公司 | 优宝-汽车润滑脂-轴承润滑脂-高温齿轮润滑油脂厂家 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛婚外情取证-青岛王军侦探事务所 | 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 | 深圳办公室装修,办公楼/写字楼装修设计,一级资质 - ADD写艺 | 潍坊青州古城旅游景点攻略_青州酒店美食推荐-青州旅游网 | 河南包装袋厂家_河南真空袋批发价格_河南服装袋定制-恒源达包装制品 | 谈股票-今日股票行情走势分析-牛股推荐排行榜 | 浩方智通 - 防关联浏览器 - 跨境电商浏览器 - 云雀浏览器 | 闭端端子|弹簧螺式接线头|防水接线头|插线式接线头|端子台|电源线扣+护线套|印刷电路板型端子台|金笔电子代理商-上海拓胜电气有限公司 | 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰]-不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰] |