新進文章

[C#] 實作姓名遮罩 (MaskName)

  • 3888

最近在寫一些東西,把之前寫的程式碼整理一下,之後方便自己之後複製貼上。

其中有一段是我覺得蠻實用的小工具:一個可以幫名字打馬賽克的 function。因為現在很多地方要顧慮到 個資法,不太能直接把全名顯示出來,所以這個方法可以幫助我們在顯示時,留下頭尾幾個字,中間用遮罩取代。


...繼續閱讀 »
on donmadotblog

[ASP.net] 在 Visual Studio 2022 加入傳統 ASMX Web Service "要求失敗,回應空白" 錯誤與解決方法

  • 3890

最近在專案中,需要連線到一個舊系統的 ASMX Web Service,網址大概像這樣:

https://xxx.sample.com/service.asmx

結果在 Visual Studio 2022 新增「Web 參考」後,呼叫服務卻一直出現以下錯誤:

要求失敗,回應空白。  

於 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)  

於 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)

...繼續閱讀 »
on donmadotblog

.NET 9 的混合式快取 HybridCache

在現代 Web 應用程式開發中,快取是提升應用程式效能不可或缺的技術。在過去,我們會使用 IMemoryCache 做記憶體快取,或者使用 IDistributedCache 做分散式快取。

.NET 9 引入了全新的 HybridCache,它結合了記憶體快取(L1)和分散式快取(L2)的優勢,讓我們能夠在同一個 API 中享受兩層快取的效能提升,同時還提供了快取雪崩保護和標籤管理等進階功能。

...繼續閱讀 »
on yc421206

Microsoft.Extensions.Http.Resilience 效能比較

這篇文章要分享我最近在研究 Microsoft.Extensions.Http.Resilience 與 Microsoft.Extensions.Http.Polly 的心得,特別是 Retry 策略 的使用方式與效能比較。

在 .NET 8 之後,微軟官方推出了新的 Resilience Handler,它內建在 Microsoft.Extensions.Http.Resilience 套件中,不再需要額外安裝 Polly 套件就能使用 Retry、Circuit Breaker、Timeout 等彈性策略。

...繼續閱讀 »
on yc421206

用 ASP.NET Core Web API 實作排隊系統

在高併發的 Web API 環境中,瞬間湧入的請求就像演唱會開賣時的粉絲潮水,沒有控管就會把系統直接「擠爆」。
這篇文章要分享一個我在 ASP.NET Core 9 專案中實作的 限流 + 排隊機制,它不只保護後端服務,還能讓用戶感覺到「公平」。

畫一張,有關排隊、限制流量的圖片

...繼續閱讀 »
on yc421206

進修課程