2020-08-13 08:25 PM 0 3,580
同事報案,他的電腦使用某個靠 localStorage 暫存資料的網頁時,暫存資料常會無故消失,沒法放過夜。 經此一事,學到冷知識 - IE 的「結束時刪除瀏覽歷程記錄」(而且有人選擇勾選),清除範圍包含 localStorage: 依據微軟文件: However, users can clea...
2020-08-11 09:44 PM 1 3,177
今天遇到的詭異茶包,估計會遇上的人不多,但還是記錄一下備忘。 在筆電上用 Visual Studio 2019 開發一切順利的 ASP.NET Core 3.1 專案,移到個人電腦建置時出錯,有幾個 NuGet 套件 ( ClosedXML、ExcelNumberFormat、System.Draw...
2020-08-09 10:43 PM 2 3,515
Side Project 是練習新技術的好地方,工作上還以 MVC 為主,自己玩倒是全面改用 ASP.NET Core。遇到編輯 UI 主分類與次分類下拉欄位連動的需求,這玩意兒之前在玩前端時幾乎是必修課程,寫過 Knockout 版、AngularJS 版,這回試寫了 Razor Page 版,用...
2020-08-08 11:13 PM 7 10,539
轉進 ASP.NET Core 世界,依循過去寫 MVC 經驗,加上參考網路技術文章(當然,還有流著奶與蜜的 Stackoverflow) 大致還算都順利,但不時發現新的眉角。 今天遇到的問題是 Razor Page 傳回 JsonResult 時,中文字元被轉成 UCN (Unicode Char...
2020-08-06 11:19 PM 3 3,817
Cache 回收更新機制不外乎幾種做法 - 絕對逾時期限、閒置固定時間後失效、鎖定檔案或資料庫異動後失效。以 .NET MemoryCache 為例,分別對映到 CachePolicy 的 AbsoluteExpiration、SlidingExpiration 以及 ChangeMonitor。(...
2020-08-05 10:25 PM 0 4,866
網站需要開放使用者指定時間預約執行作業的功能,並需要簡單的介面查詢執行狀況。前陣子剛研究過 ASP.NET Core 的 IHostedService,但它限定 ASP.NET Core,而且查詢管理介面都需要自己刻;Quartz.NET 也蠻多人推的,API 簡潔擴充性高,但缺少現成的查詢管理介面...
2020-08-04 11:24 PM 4 6,596
我想處理的情境如下:Git Repository X 內含多個資料夾,每個資料夾可視為子專案,比如 Project A、B、C、D。隨著專案規模長大及時空環境改變,想將其中的 Project D 移出來,另外新建 Git Repository Y 獨立發展,而搬移時要求修改歷程必須保留。 爬文查了一...
2020-08-03 09:32 PM 2 2,694
我有段將彈性格式 JSON 反序列化為 Dictionary<string, object> 的程式,在處理小點數時遇上問題。假設 JSON 來源長這樣: [ { "ItemNo": "A-100", "Value&...
2020-08-02 10:15 AM 0 4,081
寫爬蟲抓取網頁內容已算開發人員的基本功,說穿了不值兩毛錢,不外乎模擬瀏覽器發出 HttpRequst 取回 HTML,再設法解析內容取出想要的資訊。 各語言幾乎都有發送 HttpRequest 的程式庫函式,.NET 有 WebClient/HttpClient、Python 有 reuqests ...
2020-08-01 05:12 AM 2 2,022
這是前陣子寫 PowerShell 我常踩到的小雷,大多發生在手動下指令的測試階段。 例如,在 PowerShell 裡我用 Set-Location (或使用 cd 指令別名) 將所在目錄切換成 X 資料夾,後續用 Out-File 寫入 ".\Test.json",Get-C...
2020-07-31 08:35 PM 0 20,763
工作上還有不少批次作業靠 DOS Batch 檔跑排程,執行時常需確認工作目錄指向 .bat 檔所在目錄,指令檔中的相對路徑才會正確。 之前常用解法不外乎兩種,第一種是設定排程時指定 Start in 路徑: 額外設定要求增加人為出錯風險且只在排程執行時有效,手動下指令執行 .bat 的話不適用。...
2020-07-28 09:55 PM 0 3,846
昨天 Git 資料夾搬家一文發表後,讀者 Danny Lin 於小站留言提到一則重要觀念: 事實上 Git 並沒有記錄所謂的「搬檔/更名」動作,在 Git 眼中,不管搬檔案或檔案改名,都一律被視為刪除舊檔外加新增檔案,差別在於若刪除檔案與新增檔案的內容相似度達一定門檻(預設為50%),Git 就會將...
2020-07-27 10:49 PM 2 7,512
[2020-07-28 更正] 本篇提到使用 git mv 確保 git status 狀態為 renamed 的技巧非絕對必要性,即使狀態為 deleted + added,在 Commit 後 Git 也會自動判別成 renamed,詳情請見 冷知識 - Git 的搬檔更名跟你想的不一樣 隨著專...
2020-07-26 09:20 AM 5 8,542
如果你跟我一樣,過去在專案裡都是自己連資料庫寫 SQL 指令,轉用 EF Core 之後,免不了會想確認 Where().Select() 產生的 SQL 查詢是否有效率,好奇 SaveChanges() 背後 EF Core 是怎麼更新資料庫? 要解答上述疑惑,最好的方法莫過於啟用 Loggin...
2020-07-25 09:22 AM 2 4,866
昨天提到 EF Core 的 DbContext 有內建資料快取,與資料庫真實狀況可能存在落差,另外也提到,當兩個 DbContext 更新同一筆資料,則視 SaveChanges() 呼叫時機,以後者為準。 EF Core 能追蹤資料修改狀況,產生 UPDATE 指令時只會更新有修改的欄位,若兩個...
2020-07-24 10:22 PM 7 4,293
在 ASP.NET Core 使用 EF Core DbContext 的標準姿勢是在 Startup.ConfigureServices() 用 services.AddDbContextPool<MyDbContext>(options => { options.UseSqli...