2019-08-31 08:36 AM 6 11,187
大家都知道我平日寫 .NET 程式早已「無 LINQ 不歡」,上癮程度直逼「無 LINQ 吾寧死」 (LINQ or Die) 的地步。(延伸閱讀:好 LINQ,不用嗎?) 但是,有一些集合型別偏偏只能 foreach,沒法 Select()、ToArray()。 原因出在這些集合型別只有實作非泛型...
2019-08-30 08:35 PM 22 52,487
兩年多前 整理過 Windows 停用 TLS 1.0 之配套作業,再補上 ODBC 與 OLEDB 處理經驗。 停用 SQL Server 主機 TLS 1.0/1.1 後 ODBC 客戶端連線失敗,設定 DSN 連線看到以下錯誤: [Microsoft][ODBC SQL Server Dri...
2019-08-28 09:10 PM 10 16,336
ASP.NET Identity 是 One ASP.NET 時代推出的新一代網站會員身分管理機制,而它也是 Visual Studio ASP.NET Core 專案範本內建的身分認證選項。 在 ASP.NET Core 網站想實作會員管理機制,得準備會員註冊、帳號登入、修改密碼及忘記密碼等功能,...
2019-08-26 06:21 AM 27 18,457
不小心瞄到網路文章,驚奇發現: 2018 年 7 月發生一件大事,VB.NET 在 TIOBE 程式語言排行榜的排名首次超越 C#。 五個月後,VB.NET 更上層樓破天荒擠進前五名來到歷史高點。 雖然上個月(2019 年 7 月) C# 再次超越 VB.NET 奪回第五名寶座,結束為期一年的 VB...
2019-08-25 09:15 AM 9 14,625
分享 Coding4Fun 專案裡的新嘗試 - 在 Linux 跑 ASP.NET Core 動態產生 Word 檔! 聽起來很酷吧? OpenXML SDK 從 2.7.0 (2017/1) 起支援 .NET Standard 1.3 (延伸閱讀:.NET Standard 2.0 是什麼?可以吃...
2019-08-24 07:55 AM 0 6,335
已安裝 Office 2019 的 Windows 10,安裝 Visio 2019 後出現 Office 檔案關聯消失的狀況。 如下圖所示,原本 .docx、.xlsx、.pptx 應該顯示 Word、Excel 跟 PowerPoint 的圖示,裝完 Visio 後壞光光。 .docx 的圖示...
2019-08-21 09:57 PM 0 8,336
接獲報案,其他系統匯入簡體中文資料寫入 Oracle 資料表後部分字元無法顯示。 追查轉擋程式是使用 System.Data.OracleClient 執行 UPDATE Table SET C2=N'...' WHERE C1=1 進行更新。 (註:N'...' 寫法的術語為 NChar Lite...
2019-08-19 09:45 PM 4 8,396
分享最近在 Coding4Fun Razor Pages 專案學到的新東西。 沿用昨天的 AJAX 呼叫範例做示範,我將 JavaScript 部分拆成獨立檔案 index.js,Index.cshtml 改寫成: @page @model IndexModel @{ ViewData[&q...
2019-08-18 11:15 AM 10 15,310
上回介紹過 Razor Pages,是 ASP.NET Core 在 MVC 之外的簡便選擇, 概念上更貼近 WebForm 的簡單直覺,只需一個 .cshtml 加一個 .cshtml.cs 就可寫出動態網頁。 Razor Pages 的 GET 與 POST 伺服器端邏輯要寫成 Model 物件...
2019-08-17 09:38 AM 8 9,443
分享 Visual Studio 小技巧一則。 直接用實例示範比較快,前篇文章提到nameof(Stages.驗收)比Stages.驗收.ToString()更好, 除了程式碼更簡潔,nameof() 可用在限定靜態常數(Static Constant)的場合,應用範圍更廣。 假設有一堆程式碼原本寫...
2019-08-16 09:32 PM 8 15,291
今天介紹一則讓你的 C# 程式好維護且不容易改壞的小技巧。 寫程式時難免會有需要字串常數的場合,若不要想太多,"常數A"、"常數B"是最直覺的寫法。 這樣寫沒什麼問題,程式通常也會跑得好好的。但遇到常數要修改,就是對細心度、視力與耐性的考驗了。 配改善這個問題...
2019-08-15 09:17 PM 0 5,925
同事反映某段使用 WebClient 抓網頁的共用函式傳回中文亂碼, 追查後發現我有個觀念錯了很久 - 我一直以為 WebClient.DownloadString() 會依據 HTTP Response Header 傳回的 Contenty-Type 自動決定編碼。 用以下 MVC 範例示範。H...
2019-08-13 09:11 PM 10 7,799
程式開發人員被字型陰已不是新聞,我小時候就狠摔過(延伸閱讀:陰險的Bug,沈重的一擊), 但十幾年後,身為資歷老鳥還會踩坑,就值得好好反省記上一筆。 今天開啟 Notepad++ 修改某段 Office 相容 HTML,範例程式正常,我照著改寫卻出錯,花半小時還查不出原因。 最後靠著一段一段將問題程...
2019-08-09 11:01 AM 20 60,434
與 ASP.NET MVC 相比,ASP.NET Core 架構上更傾向靠依賴注入(Dependency Injection)處理服務物件的傳遞, 造成一項非常有感的改變 - 過去一些慣用靜態物件或方法解決的情境,在 ASP.NET Core 要改成從建構式參數取得才能引用。 舉兩個典型例子: 使...
2019-08-08 09:35 PM 1 7,089
這幾天在寫 WinForm 程式,遇到有意思的需求。小程式透過 Registry Shell/Open/Command 註冊方式啟動(類似在 Chrome/Edge 網頁用 IE 開啟超連結所介紹的技巧),以 MyApp.exe %1 方式接收參數執行任務。 這裡用個簡化範例模擬我遇到的挑戰。 Pr...
2019-08-03 09:22 AM 5 5,857
在這個開發者不學新技術會被嘲諷成原始人的時代,我們不乏吹捧讚嘆新技術的推坑文(不說別人,我自己就常寫)。 前幾天讀到這篇「我是一名技术总监,被技术选型给埋坑里了」 宛如清流,格外覺得痛快,切中過去幾年自己的觀察體驗,講出我說不出口的心聲。 這篇中文文章源自 Dan McKinley 2015 年的老...