學習新的開發寫法要投入時間,離開習慣的事物令人不安,因此轉移新版本或新平台過程總存在著無形阻力。此時常需要靠新版的某個迷人特性,才能讓你產生動力咬牙跨越圍籬。
像是 Interpolated Strings 字串插值,便是讓我積極改用 C# 6.0 的關鍵。至於 ASP.NET Core,MVC V... Read More
↧
淺談 ASP.NET Core Tag Helper (標籤協助程式)
↧
【笨問題】CSS 超長文字斷行
部落格被 Google Search Console 糾正部分排版不適合行動裝置閱讀。
檢視問題頁面研判是文章出現過長英文字串超出邊框,造成文章區塊變窄造成。導致問題的文字通常是 Namespace 加型別名稱,URL、檔案路徑等,共同特色是長度長且其中不包含空白或標點符號:
解決這類問題,腦海中... Read More
↧
↧
MSSQL Trigger 偵測欄位修改
在 MSSQL 上寫 Trigger,我想減少非必要的資料庫動作,故計劃在執行 Trigger 邏輯前進行過濾,鎖定特定欄位有異動才執行。原本想從 INSERTED、DELETED 資料表取出資料比對,不料目標欄位型別是超級古老的 NTEXT (SQL2005 起已被 NVARCHAR(MAX) 取... Read More
↧
在 VS2019 檢視 ASP.NET Core 開放原始碼
好奇心起,想了解 ASP.NET Core 內部運作原理。ASP.NET Core 是開源專案,原始碼大大方方放在 Github 給你看,要取得不費吹灰之力。不過我被 Visual Studio 寵壞了,少了 F12 一鍵跳到函式定義以及 Ctrl-K、R 列出所有有呼叫來源這些功能就活不下去(OS... Read More
↧
APS.NET MVC 小技巧 - 切換 cshtml 是否套用 Layout
分享最近學到的小技巧,在 ASP.NET MVC Action 透過 return View() 或 return PartialView() 控制是否要顯示 Layout 部分。
直接使用 VS2019 預設的 ASP.NET Core MVC 專案範本當範例,它的 Index.cshtml 長這... Read More
↧
↧
ASP.NET Core ViewComponent 練習
ViewComponent 是 ASP.NET Core 新加入的網頁元件架構,類似前端框架都會支援的自訂網頁元素,Vue.js、Angular、React都有,允許在 HTML 用 <my-component-name></my-component-name> 這類標籤直接... Read More
↧
【茶包射手日記】SQL 用 IP 可連,用主機名稱不通
記錄昨天踩到的地雷。在進行資料庫移轉作業,有幾台網站主機採用機器別名連線 MSSQL,做法是在 C:\Windows\System32\drivers\etc\hosts 加入一筆 IP 與機器名稱映(例如下圖的 NewSQL),設定連線字串時寫成 Data Source=NewSQL 不寫 IP。... Read More
↧
【水電工日記】熨斗電源線接觸不良
跟了我二十多年的電熨斗(當兵時買的,幸好有它,不然軍服沒熨好都不用放假惹)這陣子怪怪的,電源線要轉到某個角度才通電,原本覺得只是接觸不良喬一下就好。但前陣子時發現熨斗尾端電線喬角度偶爾會閃爍火花,才驚覺非同小可。
觀察冒火花處的電源線有多條橫向裂痕,猜想裡面多芯線可能部分有斷,導致彎折時由接觸摩擦產... Read More
↧
【茶包射手日記】ODBC Driver 17 for SQL Server 無法讀取 NVARCHAR(MAX)
再踩 SQL 資料庫地雷一枚。
配合停用 TLS 1.0,把一些老舊程式用的 ODBC 版本升級到 ODBC 17 (參考:ODBC 與 OLEDB 之 SQL Server TLS 1.2 支援問題),遇到詭異現象:升級後有個 SELECT ColKey, ColContent FROM ... ... Read More
↧
↧
【茶包射手日記】ASP.NET 隨機發生 Session 物件遺失錯誤
同事報案,某台 ASP.NET 網站有幾個網頁會隨機性冒出錯誤,共同特徵都是 Session 物件遺失造成。
在事件檢視器出現大量 Event 5074 WAS 訊息,時間點與出錯時間吻合,初步推斷 AppPool 被回收導致 Session 物件遺失是隨機出錯原因:
A worker proce... Read More
↧
ASP.NET Core 練習 - 依賴注入 DI
先前 ViewComponent 範例程式為求單純避免失焦,有幾段程式寫法不符合 ASP.NET Core 規範留下小尾巴,現在再來收拾它。
幾個明顯問題包含:
在 ASP.NET Core 中使用服務(如:SimpleWeatherService)應採用依賴注入 (Dependency Inje... Read More
↧
Visual Studio 簽入 Git 遺漏檔案
工作上的小插曲。用 Visual Studio 2019 開發 ASP.NET NVC 專案,簽入 TFS Git 後同事抓回去發現漏了 /Views/Debug 下的幾個 cshtml。
聽到檔案路徑我很快就想到原因,是 .gitignore:
為避免編譯後的結果混入版控範圍,微軟提供的 Vis... Read More
↧
用 PowerShell 寫個瀏覽檔案上傳 WebAPI 小工具
遇到一個需求,某個上傳 CSV 的 WebAPI 想改成讓使用者選擇檔案上傳,由於是暫時性 Workaround,不想為此多寫上傳檔案網頁。
呼叫 WebAPI 上傳檔案對程式人員是小事一椿,知道檔名路俓下個指令用 curl 或 PowerShell 就搞定,但對一般電腦使用者來說多少有點難度。
雖... Read More
↧
↧
ASP.NET Core 練習 - 使用 appSetting
接續前一篇的程式改良。
ASP.NET Core 已不是用 web.config,但仍有 appSetting,網站可調參數是放在 appSettings.json,專案範本預設內容如下:
appSettings.json 裡的設定值可透過 IConfiguration 讀取,依據 ASP.NET... Read More
↧
PDF 取文字解析與 RegularExpression 練習
工作上的小需求,監控系統定期發送 PDF 報表,回報像下面的主機監控數據。
覺得每天重複收信開 PDF 檔用肉眼檢查很蠢,但監控系統不在轄區沒法要求其他格式,怎麼辦?
幸好,我們可是會寫程式的人呢,不怕不怕。
先寫一隻小程式檢查 Outlook 收件匣依主旨特徵挑出監控系統報表,從中取出 PDF ... Read More
↧
使用 PowerShell 查詢 .NET 程式平台目標 (Platform Target)
要查詢 .NET 組件的平台目標 (Platform Target,AnyCPU、x32 或 x64),我過去都是用 .NET Framework SDK 的 CoreFlags.exe。但實務上有些不方便,第一是 .NET Framework SDK 安裝目錄通常不包含在 PATH 環境變數,直接... Read More
↧
ASP.NET Core 練習 - 非同步化
繼續練習寫 ASP.NET Core 的正確姿勢。
除了在 ASP.NET Core 無所不在的 DI,另一個跨進 .NET Core 要習慣的轉變是 - async/await 非同步化! 延伸閱讀: ASP.NET async 基本心法
.NET 已逐漸走向非同步化。以 ViewComponen... Read More
↧
↧
2019 台北馬拉松
一年一度的台北馬,由於固定於 12 月舉辦,常被跑友當成驗收一年練習成果的期末考。雖然不愛大拜拜型賽事,但認真跑了一年期末缺考成何體統,自然不能缺席。
維持月跑量 200K 將近一年,前一場板橋馬挑戰破四失敗,但學到一些經驗:要事先預習路線、注意 GPS 誤差、配速下限是 5:41 需全程緊盯。台北... Read More
↧
筆記:ASP.NET Core 2.2 升級 3.1 經驗一則
.NET Core 3.1 LTS (Long Term Support) 已在 2019/12/3 正式釋出,依我的觀點 LTS 是作為企業解決方案選項的重要條件,.NET Core 3.1 LTS 的問市意味在工作上可以放心大膽用下去囉。(補充:.NET Core 3.1 的下一版將會更名為 .... Read More
↧
小技巧 - 使用 Chrome 檢查網站憑證問題
網友提到 Chrome 出現網站憑證無效(ERR_CERT_AUTHORITY_INVALID)訊息。
用 Chrome 查詢憑證資訊的方法之前零散提過,在這篇做個小整理。
當 Chrome 發現 HTTPS 網站憑證有問題,預設行為是阻止你檢視網站內容,將不會進入網頁而是出現下面的白畫面。若你確信... Read More
↧