Category: .net core

從 .NET Framework 時代開始,我都用這招取得執行中的 EXE 路徑: Assembly.GetExecutingAssembly().Location 最近發現這做法在 .NET Core / .NET 6 可能會出問題。用以下範例程式重現問題: var execAsm = Syst...

改寫 .NET Core 之後,我都盡量改用 System.Text.Json處理 JSON,做個不守舊,擁抱新時代的老人。System.Text.Json 主打高效能,雖然功能跟擴充性比不上 Json.NET 完整,但身為 .NET 內建元件,不用擔心支援性及整合度,預期會持續強化(例如:.NET...

.NET Core/.NET 6 號稱跨平台,但實際推進到 Linux,有些眉角遇上才會知道。 繼續嘗試在 CentOS 整合事務機掃描功能,掃描結果的圖檔格式是 TIFF,想寫段 C# 程式將它轉成 JPG,這用 Bitmap 來做是小事一椿。要在 .NET 6 使用 Bitmap,可安裝 Sys...

為網站加入定期排程算很常見的設計,可用來處理過期 Cache 清除、資料定期刷新,系統狀態監控及自動問題修復。過去在 ASP.NET 時代,我會用一種笨但有效的方法 - 跑 Windows 排程每隔幾分鐘呼叫特定網頁執行任務,遇到較複雜需管理介面甚至要能重試的需求,也曾用過 Hangfire。來到 ...

EF Core Migration 可依據 Entity 類別針對不同資料庫(MSSQL、SQLite、Oracle、MySQL...)產生對映的 CREATE TABLE Script,能自動連上資料庫伺服器建好資料表,Entity 修改時還能生出增減修改欄位 ALTER Script (但有一些...

【聲明】關於類別程式庫是否該自行讀取 config 設定檔?靜態屬性或方法是否為適當設計?在開發人員間仍存在意見分歧。基於現實世界這類應用仍算常見(例如:NLog.config、 JsonConvert.DefaultSettings...),而開發習慣調整非一朝一夕可以改變,這篇文章聚焦舊元件改...

要用 ASP.NET Core 寫 Electron 程式,除了原本的網頁開發技能,還得學習透過 Electron API 與桌面環境互動,才會像真正的桌面 GUI 應用程式。若只是把 Electron.NET 程式當成純網頁寫,無法自由存取本機檔案、在工具列做變化,那跟用 Console 程式跑網...

三不五時難免有寫桌面 GUI 程式的需求,總讓我天人交戰。雖然寫 WPF 難不倒我,但網頁才是我累積超過一萬小時的拿手絕活。組 XAML 搞 INotifyPropertyChanged 邊查邊寫滿頭大汗之際 我總忍不住碎念,要是能用 Web 寫多好? Select/Input/Button 搭 V...

改寫 .NET Core 後逐漸感受到與 .NET Framework 專案的差異,例如:程式庫一樣是透過 NuGet 安裝及更新,但 .sln 目錄下熟悉的 packages 資料夾不見了。 Visual Studio 建立 .NET Framework 專案時,會將下載的 NuGet 程式庫放在...

Scaffolding 雖然可以產生清單及新增修改刪除介面,但公版介面與實際需求總有些差距,以本次的情境為例,有幾個地方需要修改: 清單項目應依日期順序顯示,預設只顯示當月,必要時則可指定年月查詢歷史記錄 日期欄位雖為 DateTime,但輸入時只需提供日期就好,顯示時亦然 記錄限每日一筆,雖有 ...