Quantcast
Channel: 黑暗執行緒
Browsing all 2311 articles
Browse latest View live

防止 WinForm 重複啟動並將工作轉交已存在程序

這幾天在寫 WinForm 程式,遇到有意思的需求。小程式透過 Registry Shell/Open/Command 註冊方式啟動(類似在 Chrome/Edge 網頁用 IE 開啟超連結所介紹的技巧),以 MyApp.exe %1 方式接收參數執行任務。 這裡用個簡化範例模擬我遇到的挑戰。 Pr... Read More

View Article


筆記 - 不可不知的 ASP.NET Core 依賴注入

與 ASP.NET MVC 相比,ASP.NET Core 架構上更傾向靠依賴注入(Dependency Injection)處理服務物件的傳遞, 造成一項非常有感的改變 - 過去一些慣用靜態物件或方法解決的情境,在 ASP.NET Core 要改成從建構式參數取得才能引用。 舉兩個典型例子: 使... Read More

View Article


【茶包射手日記】Notepad++ 字型踩雷記

程式開發人員被字型陰已不是新聞,我小時候就狠摔過(延伸閱讀:陰險的Bug,沈重的一擊), 但十幾年後,身為資歷老鳥還會踩坑,就值得好好反省記上一筆。 今天開啟 Notepad++ 修改某段 Office 相容 HTML,範例程式正常,我照著改寫卻出錯,花半小時還查不出原因。 最後靠著一段一段將問題程... Read More

View Article

WebClient DownloadString() 編碼問題

同事反映某段使用 WebClient 抓網頁的共用函式傳回中文亂碼, 追查後發現我有個觀念錯了很久 - 我一直以為 WebClient.DownloadString() 會依據 HTTP Response Header 傳回的 Contenty-Type 自動決定編碼。 用以下 MVC 範例示範。H... Read More

View Article

C# 技巧:用列舉及 nameof 取代字串常數提高可維護性

今天介紹一則讓你的 C# 程式好維護且不容易改壞的小技巧。 寫程式時難免會有需要字串常數的場合,若不要想太多,"常數A"、"常數B"是最直覺的寫法。 這樣寫沒什麼問題,程式通常也會跑得好好的。但遇到常數要修改,就是對細心度、視力與耐性的考驗了。 配改善這個問題... Read More

View Article


Visual Studio 小技巧 - Regular Expression 尋找取代

分享 Visual Studio 小技巧一則。 直接用實例示範比較快,前篇文章提到nameof(Stages.驗收)比Stages.驗收.ToString()更好, 除了程式碼更簡潔,nameof() 可用在限定靜態常數(Static Constant)的場合,應用範圍更廣。 假設有一堆程式碼原本寫... Read More

View Article

Razor Pages 實作 Ajax 呼叫

上回介紹過 Razor Pages,是 ASP.NET Core 在 MVC 之外的簡便選擇, 概念上更貼近 WebForm 的簡單直覺,只需一個 .cshtml 加一個 .cshtml.cs 就可寫出動態網頁。 Razor Pages 的 GET 與 POST 伺服器端邏輯要寫成 Model 物件... Read More

View Article

ASP.NET Core 小技巧 - 防止 js/css/圖檔舊版 Cache 搗亂

分享最近在 Coding4Fun Razor Pages 專案學到的新東西。 沿用昨天的 AJAX 呼叫範例做示範,我將 JavaScript 部分拆成獨立檔案 index.js,Index.cshtml 改寫成: @page @model IndexModel @{ ViewData[&q... Read More

View Article


【茶包射手日記】Oracle 寫入 N'...' 簡體變繁體

接獲報案,其他系統匯入簡體中文資料寫入 Oracle 資料表後部分字元無法顯示。 追查轉擋程式是使用 System.Data.OracleClient 執行 UPDATE Table SET C2=N'...' WHERE C1=1 進行更新。 (註:N'...' 寫法的術語為 NChar Lite... Read More

View Article


【茶包射手日記】恢復 Office 檔案關聯

已安裝 Office 2019 的 Windows 10,安裝 Visio 2019 後出現 Office 檔案關聯消失的狀況。 如下圖所示,原本 .docx、.xlsx、.pptx 應該顯示 Word、Excel 跟 PowerPoint 的圖示,裝完 Visio 後壞光光。 .docx 的圖示... Read More

View Article

程式範例 - C# 動態產生 Word 表格

分享 Coding4Fun 專案裡的新嘗試 - 在 Linux 跑 ASP.NET Core 動態產生 Word 檔! 聽起來很酷吧? OpenXML SDK 從 2.7.0 (2017/1) 起支援 .NET Standard 1.3 (延伸閱讀:.NET Standard 2.0 是什麼?可以吃... Read More

View Article

閒聊 - VB.NET 與 C# 黃金交叉?

不小心瞄到網路文章,驚奇發現: 2018 年 7 月發生一件大事,VB.NET 在 TIOBE 程式語言排行榜的排名首次超越 C#。 五個月後,VB.NET 更上層樓破天荒擠進前五名來到歷史高點。 雖然上個月(2019 年 7 月) C# 再次超越 VB.NET 奪回第五名寶座,結束為期一年的 VB... Read More

View Article

小試 ASP.NET Core Identity

ASP.NET Identity 是 One ASP.NET 時代推出的新一代網站會員身分管理機制,而它也是 Visual Studio ASP.NET Core 專案範本內建的身分認證選項。 在 ASP.NET Core 網站想實作會員管理機制,得準備會員註冊、帳號登入、修改密碼及忘記密碼等功能,... Read More

View Article


ODBC 與 OLEDB 之 SQL Server TLS 1.2 支援問題

兩年多前 整理過 Windows 停用 TLS 1.0 之配套作業,再補上 ODBC 與 OLEDB 處理經驗。 停用 SQL Server 主機 TLS 1.0/1.1 後 ODBC 客戶端連線失敗,設定 DSN 連線看到以下錯誤: [Microsoft][ODBC SQL Server Dri... Read More

View Article

小技巧 - 對只支援 foreach 的集合執行 LINQ 動作

大家都知道我平日寫 .NET 程式早已「無 LINQ 不歡」,上癮程度直逼「無 LINQ 吾寧死」 (LINQ or Die) 的地步。(延伸閱讀:好 LINQ,不用嗎?) 但是,有一些集合型別偏偏只能 foreach,沒法 Select()、ToArray()。 原因出在這些集合型別只有實作非泛型... Read More

View Article


EF Core 筆記 1 - 概論

學習 ASP.NET Core 的過程發現 Entity Framework Core 已成基本技能,應用廣泛,像 ASP.NET Core Identity 就少不了它,不懂點觀念很難在江湖走跳。 這系列筆記是這陣子的爬文心得整理,目的在涵蓋基本觀念與術語,細節部分則需參考相關文件或教學。 【參考... Read More

View Article

【茶包射手日記】無法下載 Chrome 的 IE

在家裝了 Hyper-V VM 跑 Windows Server 2019 想試東西,新裝機少不了要上網抓軟體, 所以我需要瀏覽器,Windows Server 2019 沒有 Edge 附的是 IE 。 大家都知道,這年頭 IE 最大的用途是用來下載 Chrome 或其他瀏覽器(嗯,先撇開企業或某... Read More

View Article


Excel 黑魔法 - 快速填入

有種說法,說人類只用了 10% 的大腦(雖然一些科學研究指出這可能不是事實), 另一個讓我有類似感覺的是 Excel。如果你的 Excel 只用來敲資料、統計下午茶、頂多加總一下金額,應該也算只發揮 Excel 10% 的能力。 Excel 可以連結資料庫、匯入 CSV、剖析資料、做樞紐分析、畫圖... Read More

View Article

跑得跟風一樣快?

近半年因為政大操場跑道整修,晨跑路線理所當然改去河濱,跑了幾個月,心中產生一個謎團。 遇上好天氣,只見河岸芒草成片搖曳,樹梢揮舞草枝擺,照理風勢不小,但在跑步的我卻感覺四周空氣凝結,沒有半點風。 依據國中物理常識,這只有一個合理解釋 - 我的速度剛好跟風一樣快,相對速度為零。 跑得跟風一樣快?聽起來... Read More

View Article

【答客問】IIS 與 web.config 的 Windows 驗證設定

讀者 sam 問了一個好問題: 參考網路資料在 web.config 加入 <authentication mode="Windows" /> 並使用 IIS 10 管理員停用 Anonymous、啟用 Windows 驗證,可實現 Windows/AD 帳號登入。... Read More

View Article
Browsing all 2311 articles
Browse latest View live