簡單來講講C#中的鎖 ? 前言 今天來說說C#中的鎖,鎖在日常開發中還是很常用的,但是用的不得當,或者騷操作比較多那么就會導致死鎖,從而導致系統崩潰。 后面我會出一系列文章,來講講C#里面的代碼和技巧,通過不斷的學習積累,以達到我的跳槽目標。 文章中有任何錯誤的地方都可以指出,博主也在不斷的學 ...
使用Inno Setup制作WPF開發的桌面應用程序流程 1.項目框架布局 項目目錄:D:\Project\XenD101H\Tools,這個目錄我將下載innosetup-6.2.2.exe 安裝的程序放置這里,以及有幾個腳本執行文件,最后輸出RadarSensorConfigTool.exe,放 ...
本文將詳細講解EF Core與MySQL的日志和調試,分為三個部分:EF Core日志配置、MySQL日志查看以及使用調試工具分析查詢性能。 1. 配置 EF Core 日志 基本日志配置 // 在DbContext配置中啟用日志記錄 protected override void OnConfig ...
在 C# 開發中,DataSet 常用于管理內存中的數據,通常來源于數據庫查詢或系統集成過程。本文將介紹如何使用 Spire.XLS for .NET 在 C# 中導出 DataSet 到 Excel,包括創建 Excel 文件、將多個 DataTable 分別寫入不同工作表、應用格式化,以及處理大... ...
同步代碼和異步代碼 一般而言,代碼可分為同步與異步兩類。兩者同樣需要等待操作完成:同步會阻塞當前線程,直至操作結束后再繼續執行后續邏輯;異步則不阻塞當前線程,而是在發起操作時預先注冊完成后的處理邏輯,待操作完成時由操作本身或外部機制觸發該邏輯。 于是這就帶來一個問題,那就是同步代碼和異步代碼的寫法是 ...
本文將詳細講解EF Core與MySQL的事務和并發處理,分為三個部分:使用事務、處理并發沖突(樂觀并發)以及悲觀并發(MySQL中使用鎖)。 使用事務在EF Core中,可以使用事務來確保一系列操作要么全部成功,要么全部失敗。EF Core支持多種事務管理方式,包括自動事務(SaveChanges ...
在 Python 中處理 Excel 數據通常需要將特定的行和列提取為列表格式。在本教程中,我們將逐步學習如何借助Aspose.Cells在 Python 中將定義的 Excel 范圍轉換為列表。 ...
我在尋找將一些拍攝出來的比較暗的圖片進行光亮增強的算法,用于處理我出門拍的一些照片。我從博客園找到了 Imageshop 大佬記錄的伊拉克團隊的TAGC(低光增強效果)算法實現,通過閱讀大佬的博客和對應的論文,基于 WPF 的 WriteableBitmap 實現 TAGC 低光增強效果算法 ...
本文將詳細講解EF Core與MySQL的查詢優化,包括使用AsNoTracking提高查詢性能,使用Include和ThenInclude進行貪婪加載,使用Select進行投影查詢、原始SQL查詢,使用索引優化查詢,其他優化技巧如分頁、批量操作和查詢編譯,性能監控和診斷工具的使用。 1. 使用 A ...
Markdown 被廣泛用于使用純文本語法創建格式化文本。許多開發人員喜歡用它來編寫文檔、注釋和內容格式。然而,我們經常需要將Markdown文檔生成專業的PDF文件。本文將學習如何借助Aspose.words for .NET,使用 C# 將 Markdown 轉換為 PDF。 ...
本文將詳細講解EF Core與MySQL的關系配置和遷移,包括一對一、一對多、多對多關系的配置,使用Fluent API進行關系配置,處理遷移中的常見問題,以及數據種子的方法。 1. EF Core 中的關系類型 Entity Framework Core 支持三種主要的關系類型: 一對一關系 (O ...
在 ASP.NET 應用程序中生成 PDF 是一個常見需求——無論是生成發票、報告、表單,還是導出動態內容。在本教程中,我們將演示如何在 ASP.NET Core Web 應用程序中使用 Spire.PDF for .NET 生成 PDF 文檔,包括從零創建 PDF 以及將 HTML 轉換為 PDF... ...
簡介 EF Core(Entity Framework Core)是Microsoft推出的開源跨平臺ORM框架,支持SQL Server、SQLite、MySQL、PostgreSQL等主流數據庫,并提供向NoSQL數據庫(如Cosmos DB)的擴展能力。它通過DbContext管理實體與數據庫 ...
消息隊列與RabbitMQ初探 本章學習目標 理解什么是消息隊列以及它解決了什么核心問題。 了解RabbitMQ是什么及其在技術生態中的位置。 另一種方式在本地使用Docker快速搭建一個RabbitMQ服務。 熟悉RabbitMQ的管理控制臺。 一、理論部分 1. 同步調用 vs. 異步消息 在傳 ...
在很多個世紀前,老周曾寫過實體之間普通關系(一對一,一對多,多對多)與 Owned 關系的區別。不過,那次寫得比較粗淺,逼格不夠高,于是,老周厚著臉皮地決定重新寫一下。 首先,為什么這次老周用原單詞 Owned 呢,官方文檔目前的翻譯(懷疑是機器干的)為“從屬”,這種說法與普通關系數據庫中一對多、多 ...
一:背景 1. 講故事 分享了幾篇崩潰,這一篇跟大家分享一例內存暴漲,訓練營里有位學員朋友找到我,說他們的軟件存在內存暴漲,讓我幫忙看下怎么回事,dump也抓到了。 二:內存暴漲分析 1. 內存真的暴漲嗎 一直都給訓練營里的學員灌輸一個思想,就是不要相信任何人說的話,而應該是以數據說話,由于是 li ...
在實際開發中,數據同步非常重要,特別是跨線程或者進程之間數據交互的時候,如果不能進行數據同步管理,那各個線程或者進程之間就會產生數據錯亂問題,比如A程序用的是更新之前的數據,B數據用的是更新之后的數據,這會造成很嚴重的后果。今天我們以一個簡單的小例子,介紹一款線程or進程之間數據同步的解決方案,謹供... ...
CSV(逗號分隔值)作為輕量級數據交換格式,廣泛應用于財務報表、用戶數據、分析結果等場景。在.NET 開發中,高效處理和解析 CSV 文件是一項基礎且重要的技能。本文將介紹如何借助Spire.XLS for .NET 通過 C# 讀取 CSV 文件,包括直接讀取和將 CSV 轉換為 DataTabl... ...
目前,信息編碼主要使用條形碼。條形碼類型眾多,其中 Code11 是廣泛使用的條形碼標準之一。本文將介紹如何借助Aspose.BarCode以編程方式開發 Code11 條形碼生成器。 ...
一:背景 1. 講故事 前段時間有位訓練營的學員找到我,說他們的軟件在客戶那邊崩潰了,沒找到是什么原因,比較著急,讓我幫忙看下是怎么回事?畢竟我的學員是永久的免費dump分析,必須給他上一卦。 二:崩潰分析 1. 為什么會崩潰 關于怎么分析崩潰dump,這個在訓練營里面早已整出來了套路,先用 !an ...