原创 再次認識using

今天看了同事代碼,發現using新的語法糖。頓時來了興趣,趕緊找文檔看看,看看更新了那些東西 基礎用法確保正確使用可釋放對象 class Program { static async Task Main()

原创 三級域名需要重新配置SSL證書

SSL 證書介紹 SSL 證書的有效性和安全性是基於域名的。每個 SSL 證書都會與一個特定的域名(包括子域名)相關聯。 當你購買 SSL 證書時,通常只包括了一個特定的主域名(如 example.com)或者泛域名(如 *.example

原创 RabbitMQ的死信隊列,延時隊列

死信隊列簡介 RabbitMQ 的死信隊列(Dead Letter Queue)是一種特殊的隊列,用於存儲那些被標記爲“死信”的消息。所謂死信即無法被正常消費和處理的消息,通常是由於一些特定的情況或條件導致的,比如過期、重試次數超過限制等。

原创 BASE最終一致性

BASE(Basically Available, Soft State, Eventually Consistent)是一種分佈式系統設計原則,它與傳統的ACID(Atomicity, Consistency, Isolation, Du

原创 緩存一致性如何保障

緩存在現代應用程序中被廣泛使用,用於提高性能和降低對後端數據存儲系統的負載。然而,使用緩存也帶來了一個重要問題:緩存一致性。在分佈式系統中,緩存一致性成爲了一個挑戰,因爲我們需要確保緩存中的數據與後端數據存儲系統的數據保持同步,以避免數據不

原创 string類型可以作爲lock的鎖對象嗎

lock 關鍵字介紹 lock 關鍵字是用於在多線程編程中實現同步和互斥訪問的關鍵字。它的作用是確保共享資源在任意時刻只能被一個線程訪問,從而避免出現競態條件(race condition)和數據不一致的問題。 當多個線程同時訪問共享資源時

原创 Polly簡單使用

簡介 Polly 是一個針對 .NET 應用程序的庫,提供了一系列經過優化的故障處理策略,幫助開發人員實現重試、斷路器、超時和熔斷機制等。通過 Polly 庫,開發人員可以更容易地編寫魯棒性更強、更可靠的應用程序。 Retry 策略 當出現

原创 HangFire進階

免費版有什麼限制 Hangfire 提供了兩個版本:Community 版本和商業版(Enterprise Edition)。其中,Community 版本是免費的,而商業版需要購買許可證。 免費版 僅支持使用 SQL Server、Po

原创 HangFire入門介紹

概述 Hangfire Client:可以創建多種類型的後臺作業 Job Storage:將後臺作業和與處理相關的其他信息保存在持久存儲中。持久性可幫助後臺作業在應用程序重新啓動、服務器重新啓動等情況下存活。這是使用 CLR 的線程池和

原创 創建類庫時如何選擇類型

.NET Standard 庫是一組可跨多個 .NET 平臺共享使用的 API 的集合。它包含了許多常用的 .NET API,包括基本數據類型、集合、文件系統、網絡、安全等方面的 API。.NET Standard 庫被設計爲具有高度可移

原创 ASP.NET Core 全局異常處理

IAsyncExceptionFilter 在 ASP.NET Core 中,可以使用異常過濾器(Exception Filter)來捕獲和處理應用程序中的異常。IExceptionFilter 接口和 IAsyncExceptionFil

原创 Visual Studio如何使用自帶“診斷工具”

一、保證診斷工具開啓 二、截取快照(查看對象大小,實例化數量,內存大小) 三、記錄CPU配置文件 設置斷點,收集斷點的CPU信息 開啓 記錄CPU配置文件 分析收集到的CPU數據 點擊右側的打開詳細信息,建議通過檢查 CPU

原创 ASP.NET Core優雅的添加HealthCheck

ASP.NET Core 2.2 之後提供了內置的 Health Checks 來幫助您監視和報告應用程序的健康狀況。默認情況是不需要在額外的引入其它nuget包的,因爲AspNet Core自帶了這些功能。 public void Con

原创 jenkins編譯結果通知推送到飛書

一、安裝插件 1、安裝Jenkins插件——Post build task 進入Jenkins——系統配置——插件管理——可選插件,輸入Post build task搜索安裝 2、重啓Jenkins 安裝完插件後重啓Jenkins 二、飛書

原创 異步編程指南

異步編程具有傳染性 一旦採用異步編程模型,所有調用者應該也是異步的。因爲只有整個調用鏈都採用異步編程模型,才能充分發揮異步編程的優勢。在很多情況下,部分異步的效果甚至不如完全同步。因此,最好一次性將所有內容都改成異步編程模型。 ❌ BAD