亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果頁面在 using 塊內被重定向,DB Context 會被自動處理嗎?

如果頁面在 using 塊內被重定向,DB Context 會被自動處理嗎?

C#
斯蒂芬大帝 2022-01-09 17:02:39
最近我發現我們的一個網絡應用程序出現 CPU 峰值和內存泄漏,我試圖找出原因,下面的代碼類似于加載時間最長的頁面,有人可以告訴我有什么問題嗎代碼,我懷疑當 if 語句匹配并重定向到另一個頁面時,dbcontext 對象沒有被釋放。using (databaseEntities dbContext = new databaseEntities()){    TABLE1 Existing = dbContext.TABLE1.Where(R => R.IsComplete).FirstOrDefault();    if (Existing != null)    {        return RedirectToAction("SecondView");    }    TABLE1 obj = new TABLE1();    obj.Name = "Name";    obj.City = "City";    obj.Date_Created = DateTime.Now;    dbContext.TABLE1.Add(obj);    dbContext.SaveChanges();}
查看完整描述

2 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

執行離開范圍后,您的 dbContext 立即處置。所以我認為這段代碼沒有任何問題。
using 語句編譯為 try-finaly 語句,該語句在 finaly 塊中調用對象的 dispose 方法。
有關更多信息,請參閱下面的鏈接。
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/using-statement

查看完整回答
反對 回復 2022-01-09
?
catspeake

TA貢獻1111條經驗 獲得超0個贊

數據庫上下文似乎不是問題,因為它在保存更改后就超出了范圍。問題可能出在數據庫或您為 databaseEntities 編寫構造函數的方式上。using 將始終調用 finally 并且范圍肯定會結束。


查看完整回答
反對 回復 2022-01-09
  • 2 回答
  • 0 關注
  • 206 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號