用 50 行 Program.cs 寫個 ASP.NET Core CORS 上傳服務
寫 JavaScript 在別人家的網頁跑,若想將產生結果存成本機檔案,有一些做法,例如:產生一個 href 為 Data URI 的連結供點選下載(範例:用 100 行實現 HTML5 可存檔塗鴉版)、靠伺服器端程式實現自動下載 (範例:Canvas.toDataURL()另存檔案)... 等等。... Read More
View Article將 ASP.NET Core 6 轉成 Windows Service
昨天介紹了只用 50 行的 Program.cs 程式寫出一個支援 CORS 上傳案的 ASP.NET Core 服務,下一步我想把它轉成 Windows Service 常駐執行。 (註:由留言我才知道這種極簡風網站寫法有個專有名詞叫 Minimal APIs,跟 NancyFx 一樣是我的菜,感... Read More
View Article【茶包射手日記】Chrome/Edge Cache 行為心得一則
處理了一個 Chrome 問題,因江湖經驗不足,多花了點時間搞定,筆記備忘。 測試台網站更新後,使用者回報版面還是錯的,但從我的機器看則正常。先懷疑是 Cache 問題,但按了 F5 重新載入甚至重啟 Chrome 仍無法解決。增加兩個對照組:使用者改用無痕模式以及用另一位同事 Chrome 的檢視... Read More
View Article你可能錯過的 .NET System.IO.Path 函式
每位老司機,對常見程式演算需求多半有自己一套方法,兵來將擋,水來土掩,行之有年。甚至有些寫法在 VBScript 時代習得,之後搬到 JavaScript 用過,到了 .NET 稍調語法繼續發光發熱。舉個例子,在處理檔案路徑時,有時要判斷相對路徑或絕對路徑做不同處理,我慣用的解法是寫個 IsAbso... Read More
View Article徹底解開靜態建構式 TypeInitializationException Cache 之謎
前期提要:去年分享過重啟網站才能解決的 TypeInitializationException 錯誤,依當時觀察與研究,靜態建構式或靜態欄位初始化只會執行一次,若發生錯誤 TypeInitializationException 會類似被 Cache 住,後續試圖存取該型別時.NET Runtime ... Read More
View Article【茶包射手日記】再遇 C# 與 PowerShell 「基礎連接已關閉」錯誤
牛年最後一枚茶包。(希望啦) 某個重要又緊急的案件,ASP.NET 網站對外呼叫 WebAPI 功能出現錯誤,因網路環境設定有狀況,連瀏覽器測試都時好時壞,導致無法確定是網路不通還是程式出錯。經過一番努力,狀況進展到瀏覽器檢視 HTTPS 網址 OK、PowerShell Test-NetworkC... Read More
View ArticleASP.NET Core 極簡風 - Minimal API
先前展示過用 50 行 Program.cs 寫個 ASP.NET Core CORS 上傳服務,從讀者 Joker 留言我學到新名詞 - Minimal API,身為極簡主義者,它絕對是我的菜,特整理一篇備忘。 對於 Minimal API,官方文件有篇完整介紹 - Minimal APIs ov... Read More
View Article焊接小幫手 2.0
四年前在 YouTube 看到香港 8 歲小妹妹展示電子 DIY 豪華設備 - 「焊接小幫手」,很是羨慕,網路有成品販售但價格驚人。於是我買了車床用的萬向噴油管跟鱷魚夾,在撿到的木板挖洞再 3D 列印固定座,土砲了一組。 不過,萬向曲管有個大缺點。畢竟它是設計用來噴氣噴油的,講究管道密合,無法彎曲出... Read More
View ArticleASP.NET Core 極簡風 - 嵌入 .html/.css/.js 靜態檔案徹底實現單檔部署
ASP.NET Core 極簡風 - Minimal API 提到只需加一行 UseFileServer(),ASP.NET Core 空白網站就可以像 ASP.NET MVC 一樣,將 .html/.css/.js/圖檔放在 wwwroot 資料夾,支援靜態檔案存取。若要實測,用 dotnet n... Read More
View Article打造極簡式 ASP.NET Core 桌面小工具 - 動態 Port 與啟動瀏覽器
對於網頁開發者來說,開發桌面小工具寫成網頁再轉桌面應用程式是最省時省力的選擇,而 Github 開發的 Electron 則是最流行的網頁轉桌面應用程式框架,大家日常使用的軟體中有許多就是用 Electron 開發的,例如:Discord、Microsoft Teams、Skype、Slack、Wh... Read More
View Article打造極簡式 ASP.NET Core 桌面小工具 - 網頁關閉自動結束
陸續介紹在 ASP.NET Core 專案內嵌 HTML、.js 跑介面、呼叫 Minimal API MapPost("...") 寫的 WebAPI,程式啟動時帶出客戶端瀏覽器開啟操作網頁,我們已可實現類似 Electron 用網頁寫桌面應用程式的效果,但有個問題。Elect... Read More
View ArticleArduino/ESP 實驗:電磁繼電器與 MOS 管電子開關耗電實測
去年 10 月做過 ESP8266 耗電實驗,跟讀者 JJC66601 討論到改用繼電器控制供電的可能,當時提到我沒考慮繼電器的理由有二:一是在經驗裡對繼電器的壽命很沒信心,二是靠電磁維持閉路狀態的繼電器,直覺耗電量應該不低,但就只是直覺。當時覺得這是個有趣議題,有時間應要實測看看。趁著年假,我還真... Read More
View Article安裝 Windows 測試 VM 好伙伴 - Microsoft Evaluation Center
處理系統問題時,若有點子構想需要驗證,不好拿正式環境開刀,也不一定找得到能隨興玩弄的測試環境(尤其是古早版本 Windows,往往跟日本進口壓縮機一樣稀少),這時侯,自己架台 Hyper-V VM 做實驗是最佳選擇,讓你放心大膽測試,不用擔心弄壞系統被同事拉到牆角餵磚頭。 不過,遇到太過古老的版本,... Read More
View Article詭異錯誤訊息 - Method not found !!0[] System.Array.Empty()
部署 ASP.NET MVC 程式遇到奇怪錯誤: Server Error in '/' Application. Method not found: '!!0[] System.Array.Empty()'. Description: An unhandled exception occurre... Read More
View ArticlePowerShell 小工具 - 檢查 .NET Framework 4.5+ 版本是否需要升級
昨天分享 .NET Framework 4.6 編譯程式在版本只到 .NET 4.5.2 主機發生的詭異錯誤訊息,經讀者提醒我才想起今年 4/26 有件事,.NET Framework 4.5.2、4.6、4.6.1 要 EOS 了! 參考:.NET Framework 技術支援終止期限(EOS)整... Read More
View Article笨問題 - Cmder 游標錯亂
Cmder 升級後出現困擾,按上下鍵後文字游標前方會殘留字元,向左移不到,按 Backspace 也刪不掉,但該字元不算輸入的一部分,純屬惱人鬼影,要 clear 或 cls 才會消除: 還有,複製貼上長段文字時會無法正確換行,但一樣是顯示問題,指令可執行,按向上鍵查看前次指令亦可正常顯示,但修改... Read More
View ArticlePowerShell 小工具 - DOC 轉 DOCX 批次轉換
去年分享過將 XLS 批次轉成 XLSX 的 PowerShell 小工具,有讀者問到如果是 DOC 轉 DOCX 要怎麼做? PowerShell 小工具原理是啟動 Windows 上安裝的 Excel 軟體,控制它逐一讀檔,另存新檔,最後再關閉。若想處理 Word 就把 Excel 改成 Wor... Read More
View Article學長,那個... 不點一下子彈嗎?
我的兵運不錯,在國防部後勤單位五級廠當了兩年修護士(唸化工轉工管的我被唸台大電機的學長收徒,沒電子背景去跟人家修電子交換機,那又是另一則奇妙故事),後勤單位涼歸涼(真的涼,托維修設備的福每天吹冷氣)還是有衛兵要站,大門有衛兵班負責,其餘如側門、油庫等次要夜哨則由一般兵輪值。上下哨很簡單,營區很小,不... Read More
View Article在 .NET 6 使用 JSON 檔儲存設定
最近的 Side-Project 計劃用 Minimal API 寫個簡單的 LINE Notify 發送服務,靠單一 EXE 在本機跑 localhost 網站搞定所有事,以貫徹極簡主義。 使用 LINE Notify API 需註冊取得 client_id 及 client_secret,與使用... Read More
View ArticleASP.NET Form 驗證 ASPXAUTH Cookie 行為深入觀察
ASP.NET Form 驗證靠 .ASPXAUTH Cookie 識別身分,它是一段用 Machine Key 加密並簽名的內容,包含身份識別、有效期限等資訊。這段機制在 WebForm 與 ASP.NET MVC 是共用的,因此設定相同的 Machine Key,ASP.NET WebForm ... Read More
View Article