The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

如何在 VS Code 順利啟用測試總管 (Test Explorer) 測試 .NET 應用程式

我最近在嘗試使用 GitHub Copilot 來撰寫單元測試,而在使用的過程中,我發現 Visual Studio Code 的測試總管 (Test Explorer) 竟然抓不到我專案中的測試案例,研究了一下才發現是 .NET Core Test Explorer 沒有正確設定導致的。不過,其實 C# Dev Kit 擴充套件本來就內建了 C# 的測試轉接器 (Test Adapter),不需要 .NET Core Test Explorer 就能跑,索性我就把套件刪除了。今天這篇文章我就來分享如何設定讓 C# Dev Kit 能夠正確的啟用測試總管 (Test Explorer),方便我們執行單元測試。

... 繼續閱讀 ...

如何設定 ASP.NET Core 在發行到 IIS 時移除 X-Powered-By 標頭

最近我們公司有一個新的網站即將上線,在做資安檢核的時候發現網站有回應一個 X-Powered-By 標頭,一般來說我們都會透過修改 Web.config 的方式移除這個標頭,但我希望這個動作可以在 CI/CD 的時候自動完成,而不是每次都手動調整 Web.config 設定檔。我之前在 如何透過 dotnet publish 調整 ASP․NET Core 部署到 IIS 的 Web.config 內容 文章中已經介紹了許多 ASP.NET Core 發行到 IIS 的設定技巧,今天我想來做出一點補充,讓我們可以在透過 dotnet publish 發行網站時調整 Web.config 的任意設定內容。

... 繼續閱讀 ...

如何變更 ASP.NET Core MVC 的預設 HtmlEncoder 的編碼範圍

我們公司這幾年由於專案大多都是前後端分離的架構,所以很少用 ASP.NET Core MVC 來開發網站,但最近公司有個專案用到 ASP.NET Core MVC 框架,看到了一段 Code 覺得很陌生,所以就研究了一下,這才發現 ASP.NET Core MVC 在處理 HtmlEncode 的時候,預設的編碼範圍跟 ASP.NET MVC 有些不同,這篇文章就來記錄一下這些技術細節。

... 繼續閱讀 ...

分享幾個發行 .NET 應用程式的奇技淫巧

無論你是開發 Console 主控台應用程式,或是 ASP․NET Core 網頁應用程式,最終都會需要發行部署,而一個簡單的 dotnet publish 卻潛藏著許多不為人知的用法。今天這篇文章我打算來梳理一下我過往曾經用過的發行技巧,做個詳細的用法整理。

... 繼續閱讀 ...

如何在正式環境套用 Entity Framework Code First 資料庫移轉(Migrations)

要套用 Entity Framework Code First Migrations 資料庫移轉,一共有 5 種方法,每種方法都有著不同的適用情境,有些方法適用於開發測試環境,有些方法則適用於正式部署的環境。今天這篇文章我就來介紹幾種不同的套用資料庫移轉方法。

... 繼續閱讀 ...

關於 Entity Framework Core 獨立放在 DAL 專案的注意事項

記得我在 13 年前寫過一篇 關於 Entity Framework 獨立放在 DAL 專案的注意事項 文章,今天我想來寫另一篇關於 Entity Framework Core 獨立放在單獨專案的注意事項,幫助大家更好的架構 .NET 應用程式。

... 繼續閱讀 ...

如何在現有 ASP.NET Core 專案加入 Seq 記錄提供者

我經常推薦 Seq 這套記錄伺服器(Log Server),如果要將 ASP.NET Core 的 Log 全部送到 Seq 儲存的話,其實非常簡單,因為官方的 Seq.Extensions.Logging 套件預設就支援 Microsoft.Extensions.Logging 的擴充,提供一個現成的 Logging Provider 讓你很方便的將 Seq 快速加入到 ASP.NET Core 之中。這篇文章我就來說說這個設定的過程。

... 繼續閱讀 ...

使用 dotnet user-jwts 管理開發時期的 JWT Tokens 與 Signing key

從 ASP.NET Core 7.0 開始,.NET SDK 7 內建支援 dotnet user-jwts 命令,可以幫助你管理開發時期所需的金鑰與 JWT Tokens,我深入的把玩了一下,發現還真的好用,這篇文章我就來說說怎樣使用。

... 繼續閱讀 ...

簡介 ASP.NET Core 資料保護 (Data Protection)

ASP.NET Core Data Protection 提供了一組加密 API (cryptographic API) 來保護資料安全,其中還自動包含了密鑰管理(key management)與密鑰更換(key rotation)等機制。這套技術主要用來長期取代 .NET Framework 的 ASP.NET 1.x ~ 4.x 中 web.config 定義的 <machineKey> 元素,我研究之後發現這套機制不但簡單好上手,背後的金鑰管理也有一定程度的複雜度,可算是相當不錯的資料保護解決方案。這篇文章我想帶大家快速上手 ASP.NET Core 資料保護機制,並透過一個簡單範例說明他的加解密的用法。

... 繼續閱讀 ...