即使 Unicode 發佈第一個版本至今已經超過了 30 年,現在我們還是得處理 Big5 編碼的文件,一個我們經常會遇到的情境,就是使用者上傳的 CSV 檔案是 Big5 編碼,而當我們使用 .NET Core 預設編碼讀取檔案的時候,會讀到亂碼。
[廚餘回收] 在 ASP.NET Core 中誤用 async void 竟引發了 502(Bad Gateway)
- 445
- 0
- ASP.NET Core
這個是我最近處理的一個問題,使用者回報網站某個功能壞了,而且發現最近時不時網站會顯示 502(Bad Gateway)的畫面,雖然多重新整理幾次它就好了,但是這並不正常,我隨即捲起袖子開始一系列的追查動作,誓言一定要將兇手緝捕歸案。

[小菜一碟] 如何在 ASP.NET Core MVC 的 View 中單獨取得含有檔案版本雜湊值的檔案路徑?
- 225
- 0
- ASP.NET Core
在開發網頁程式我們最害怕的場景其中之一,就是我們的靜態檔案(*.js、*.css、*.png、...)後端已經更新了,但是在前端看到的依然是舊的版本,這個問題在 ASP.NET Core 我們可以透過一個 asp-append-version 的 TagHelper 來解決,它會自動地根據靜態檔案的內容產生一個含有雜湊值版本的網址,如果我們不透過 TagHelper 也想取得這樣的網址,我們要怎麼弄?
[小菜一碟] 如何在 .NET 5 之前的專案中使用 C# 9 的語法?
使用 .NET 5 開起來的專案,預設就能使用 C# 9 的語法,那麼 .NET 5 以前的 .NET Core 2/3、.NET Framework 4.x 專案是不是就不能用 C# 9 的語法? 非也非也,只要調整幾個小地方,.NET 5 之前的專案一樣可以使用 C# 9 的語法。
[小菜一碟] ASP.NET Core 及 Nginx 如何在一個服務上監聽多個 Port?
- 726
- 0
- ASP.NET Core
先前有一篇文章在講 Linux 上 Port 被用光了,導致系統無法使用的問題,其中一個解決的方法是「增加服務的 Listen Port
」,我們的服務是用 ASP.NET Core 開發的,而 Nginx 則是當 Reverse Proxy 擋在前面,我們就來看一下 ASP.NET Core 及 Nginx 怎麼監聽多個 Port?
[小菜一碟] 在 ASP.NET Core MVC 自訂 ExceptionHandler
- 526
- 0
- ASP.NET Core
ASP.NET Core MVC 預設的 ExceptionHandler 是幫我們導到 /Home/Error
,稍嫌陽春了一點,如果我們要在 Exception 發生時,記錄下額外的資訊,會需要自訂 ExceptionHandler,這個不難,我們來看一下怎麼做?
[料理佳餚] 在 ASP.NET Core MVC 自訂 HTTP 狀態碼頁面
- 457
- 0
- ASP.NET Core
商業網站通常都會自訂自己的 HTTP 狀態碼頁面,先前有寫兩篇文章介紹在 ASP.NET MVC 如何來做這件事?
現在環境換到了 ASP.NET Core,我們來看一下怎麼處理自訂 HTTP 狀態碼頁面?
[料理佳餚] 用 .NET Core Worker Service 在 Linux 及 Windows 上建置背景服務
以往用 .NET Framework 開發的時候,都是用 TopShelf 來建置 Windows 服務,現在 .NET Core 弄了一個叫 .NET Generic Host 的東西,我們可以直接將服務透過它來 Host 成背景服務,而且它是跨平台的,不只可以部署在 Windows 上,Linux 上也行得通,ASP.NET Core 應用程式就是用它來讓服務可以長時間執行。
[小菜一碟] 為我們在 ASP.NET Core 的靜態檔案加上 Cache-Control
- 493
- 0
- ASP.NET Core
當我們建立一個 ASP.NET Core Web 應用程式專案的時候,預設在 Startup.cs
中就會呼叫 UseStaticFiles()
使用 StaticFileMiddleware,讓專案中的靜態檔案可以透過 HTTP 被存取到,現在我想要將這些靜態檔案 Cache 在 CDN 上,我需要在 Response Headers 裡面加上 Cache-Control: public, max-age=n
,我們來看要怎麼做?
[料理佳餚] 實作 IFeatureDefinitionProvider 從外部的服務載入 ASP.NET Core Feature Flags(Feature Toggle)的設定
- 427
- 0
- ASP.NET Core
上一篇提到我們可以把 ASP.NET Core Feature Flags 的設定,儲存在 Azure App Configuration(應用程式組態)裡面,現在再進階一點,我們可以實作 IFeatureDefinitionProvider 建立一個 Feature Definition Provider,讓 Feature Flags 的設定可以儲存在我們想要的地方。