一年一度的台北馬,由於固定於 12 月舉辦,常被跑友當成驗收一年練習成果的期末考。雖然不愛大拜拜型賽事,但認真跑了一年期末缺考成何體統,自然不能缺席。 維持月跑量 200K 將近一年,前一場板橋馬挑戰破四失敗,但學到一些經驗:要事先預習路線、注意 GPS 誤差、配速下限是 5:41 需全程緊盯。台北...

繼續練習寫 ASP.NET Core 的正確姿勢。 除了在 ASP.NET Core 無所不在的 DI,另一個跨進 .NET Core 要習慣的轉變是 - async/await 非同步化! 延伸閱讀: ASP.NET async 基本心法 .NET 已逐漸走向非同步化。以 ViewComponen...

工作上的小需求,監控系統定期發送 PDF 報表,回報像下面的主機監控數據。 覺得每天重複收信開 PDF 檔用肉眼檢查很蠢,但監控系統不在轄區沒法要求其他格式,怎麼辦? 幸好,我們可是會寫程式的人呢,不怕不怕。 先寫一隻小程式檢查 Outlook 收件匣依主旨特徵挑出監控系統報表,從中取出 PDF ...

接續前一篇的程式改良。 ASP.NET Core 已不是用 web.config,但仍有 appSetting,網站可調參數是放在 appSettings.json,專案範本預設內容如下: appSettings.json 裡的設定值可透過 IConfiguration 讀取,依據 ASP.NET...

遇到一個需求,某個上傳 CSV 的 WebAPI 想改成讓使用者選擇檔案上傳,由於是暫時性 Workaround,不想為此多寫上傳檔案網頁。 呼叫 WebAPI 上傳檔案對程式人員是小事一椿,知道檔名路俓下個指令用 curl 或 PowerShell 就搞定,但對一般電腦使用者來說多少有點難度。 雖...

工作上的小插曲。用 Visual Studio 2019 開發 ASP.NET MVC 專案,簽入 TFS Git 後同事抓回去發現漏了 /Views/Debug 下的幾個 cshtml。 聽到檔案路徑我很快就想到原因,是 .gitignore: 為避免編譯後的結果混入版控範圍,微軟提供的 Vis...

先前 ViewComponent 範例程式為求單純避免失焦,有幾段程式寫法不符合 ASP.NET Core 規範留下小尾巴,現在再來收拾它。 幾個明顯問題包含: 在 ASP.NET Core 中使用服務(如:SimpleWeatherService)應採用依賴注入 (Dependency Inje...

跟了我二十多年的電熨斗(當兵時買的,幸好有它,不然軍服沒熨好都不用放假惹)這陣子怪怪的,電源線要轉到某個角度才通電,原本覺得只是接觸不良喬一下就好。但前陣子時發現熨斗尾端電線喬角度偶爾會閃爍火花,才驚覺非同小可。 觀察冒火花處的電源線有多條橫向裂痕,猜想裡面多芯線可能部分有斷,導致彎折時由接觸摩擦產...

ViewComponent 是 ASP.NET Core 新加入的網頁元件架構,類似前端框架都會支援的自訂網頁元素,Vue.js、Angular、React都有,允許在 HTML 用 <my-component-name></my-component-name> 這類標籤直接...

好奇心起,想了解 ASP.NET Core 內部運作原理。ASP.NET Core 是開源專案,原始碼大大方方放在 Github 給你看,要取得不費吹灰之力。不過我被 Visual Studio 寵壞了,少了 F12 一鍵跳到函式定義以及 Ctrl-K、R 列出所有有呼叫來源這些功能就活不下去(OS...

在 MSSQL 上寫 Trigger,我想減少非必要的資料庫動作,故計劃在執行 Trigger 邏輯前進行過濾,鎖定特定欄位有異動才執行。原本想從 INSERTED、DELETED 資料表取出資料比對,不料目標欄位型別是超級古老的 NTEXT (SQL2005 起已被 NVARCHAR(MAX) 取...