Month: 2022-03

前陣子遇到一個 AddRazorRuntimeCompilation() 問題,靠 .NET 6 SDK 更新到 6.0.201 版解決,升級後繼續用 VSCode 開發、測試,一路順暢,感覺良好。 心血來潮,試改用 VS2022 偵錯,簡單的 Home/Index 檢視卻出現奇怪錯誤: An un...

疫情趨緩,馬拉松賽事紛紛恢復,去年早早報好名的香魚馬,從 5 月延到 9 月,再延到今年 3 月,終於成行。 這一年多來,因賽事停擺及時間分配調整,自己的慢跑心態慢慢轉向養生,月跑量還是以 200 公里為目標,但不再求快,而邵老師辦的比賽,欣賞賽道風光品嚐補給才是重點,期限都給你八小時了,抱著輕鬆心...

程式版控不該發生,但難免會遇到的狀況 - 想移除歷史 Commit 裡不該被放進去的檔案,例如:無保存價值的大檔或是機密資料。 如果是無用大檔,即使將檔案刪除再 Commit,日後 clone 仍會佔用頻寬及儲存空間;而機密資料則是非清除不可。Git 允許我們修改歷史並 push -f 覆寫,但實務...

上回 SQL 連線不通導致的 4625 登入失敗稽核事件又有後續,再學到一些冷知識。 狀況為使用者非常確定自己沒有主動使用網路分享資料夾,遠端主機的事件檢視器卻不定期出現當時 Windows 登入帳號登入失敗的 4625 事件: 使用者用 UNC (例如:\\192.168.50.83) 連線遠端...

改用 ASP.NET Core 後,DI 已成日常(延伸閱讀:不可不知的 ASP.NET Core 依賴注入),我漸漸習慣將共用程式、元件寫成服務,在 Program.cs 中用 builder.Services.AddSingleton<T>()、AddTransient<T&g...

發現從 .NET 6 開始支援 System.Text.Json DOM 巡覽及編修,小小興奮了一下,打算逐步用 System.Text.Json 取代 Json.NET,不料隨即踩到雷。 有段用 JSON 傳送 Dictionary<string, object> 的程式,原本靠 Js...

.NET 社群蓬勃發展,NuGet Gallery 上程式套件多如牛毛,搜尋時常會冒出一堆名稱相近結果,不知哪個才是我要的,歷經幾次裝錯經驗,以下是我找對 NuGet 程式庫的小技巧。 前陣子玩繁簡轉換找到 OpenCC.NET 專案,作者說 OpenCC.NET 名稱已被捷足先登,故在 NuGet...

調查了一起開發測試過程引發 Windows 稽核失敗事件的案例。 本機不小心在 Visual Studio 啟動了某個測試網站專案,在另一個伺服器留下多筆操作登入使用者登入失敗的 Windows 安全事件: 依據微軟文件,4625 事件用於記錄任何登入失敗,留存在嘗試登入的電腦上。這個事件也是之前...

在 .NET 要執行 DES/AES/RSA 加解密不是難事,遠從 .NET 3.5 時代,System.Security.Cryptography 命名空間都已內建相關 API 提供完整支援。不過這些安全相關 API 高度依賴作業系統的原生程式庫,從 .NET Core 開始,跨平台成為重要考量,...

依微軟的計劃,System.Text.Json 應取代 Json.NET,成為 .NET Core/.NET 5+ 奧林匹克指定 JSON 程式庫。System.Text.Json 主打輕巧高效能,但畢竟發展時間尚短,與身經百戰的老將 Json.NET 相比,在功能完整性及可擴充性上仍有點「嫩」。其...