Category: .net

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

自從上週在光碟存檔挖到 30 年前寫的俄羅斯方塊遊戲,當局立刻成立古蹟修復小組,期望能讓半百老人重溫舊日時光。 初步探勘後發現嚴重問題,當年遊戲很花俏地加了背景音樂,但檔案沒有留下來。 DOS 時代電腦沒內建音效卡,只有能發出單一頻率音調的蜂鳴器(故障時響三聲那種,1987 年 AdLib 音效卡才...

最近的 Side-Project 計劃用 Minimal API 寫個簡單的 LINE Notify 發送服務,靠單一 EXE 在本機跑 localhost 網站搞定所有事,以貫徹極簡主義。 使用 LINE Notify API 需註冊取得 client_id 及 client_secret,與使用...

牛年最後一枚茶包。(希望啦) 某個重要又緊急的案件,ASP.NET 網站對外呼叫 WebAPI 功能出現錯誤,因網路環境設定有狀況,連瀏覽器測試都時好時壞,導致無法確定是網路不通還是程式出錯。經過一番努力,狀況進展到瀏覽器檢視 HTTPS 網址 OK、PowerShell Test-NetworkC...

前期提要:去年分享過重啟網站才能解決的 TypeInitializationException 錯誤,依當時觀察與研究,靜態建構式或靜態欄位初始化只會執行一次,若發生錯誤 TypeInitializationException 會類似被 Cache 住,後續試圖存取該型別時.NET Runtime ...

每位老司機,對常見程式演算需求多半有自己一套方法,兵來將擋,水來土掩,行之有年。甚至有些寫法在 VBScript 時代習得,之後搬到 JavaScript 用過,到了 .NET 稍調語法繼續發光發熱。舉個例子,在處理檔案路徑時,有時要判斷相對路徑或絕對路徑做不同處理,我慣用的解法是寫個 IsAbso...

.NET Framework 時代寫 Windows Service 的標準做法是用 Visaul Studio 新增 Installer、再用 InstallUtil.exe 安裝。(參考:Windows Service 新增 Installer 功能並自動開啟防火牆設定 by 保哥) 而 .NE...

讀者骨董修復菜鳥問了一個有趣問題 - ASP.NET 網站的 .js 以內嵌資源(Embedded Resource)方式存在 .dll 裡,若沒有原始碼或無法重新編譯專案,要如何修改? 我猜想世界或許有某個軟體工具可優雅地完成這項工作,但 .NET 有 ildasm.exe 及 ilasm.exe...

昨天分享重複使用 WebClient 時 Headers 會變動的踩雷經驗,陸續有讀者提問,歸納疑惑點不外乎「在哪些情況下哪些 Header 會改變?」,解答就藏在 .NET 的原始碼裡,如果你能找對位置的話。 要得到真相得追進 .NET Framework 或 .NET 6 原始碼,微軟有提供 ....