我們公司這幾年由於專案大多都是前後端分離的架構,所以很少用 ASP.NET Core MVC 來開發網站,但最近公司有個專案用到 ASP.NET Core MVC 框架,看到了一段 Code 覺得很陌生,所以就研究了一下,這才發現 ASP.NET Core MVC 在處理 HtmlEncode 的時候,預設的編碼範圍跟 ASP.NET MVC 有些不同,這篇文章就來記錄一下這些技術細節。
... 繼續閱讀 ...
QRCoder 是一套 .NET 知名的 QRCode 產生器,從 .NET Framework 的年代就存在,支援多種 QRCode 輸出格式,並且可以輸出成 Bitmap
或 PNG
等圖片類型。不過我最近發現他的最新版 v1.4.3 在 .NET 6.0 出現了一些問題,所以我在這裡紀錄一下正確的 QRCoder 使用方法。
... 繼續閱讀 ...
無論你是開發 Console 主控台應用程式,或是 ASP․NET Core 網頁應用程式,最終都會需要發行部署,而一個簡單的 dotnet publish
卻潛藏著許多不為人知的用法。今天這篇文章我打算來梳理一下我過往曾經用過的發行技巧,做個詳細的用法整理。
... 繼續閱讀 ...
Gmail API 是一個 RESTful API,主要用來管理 Gmail 信箱與發送郵件,而要通過認證的方法,就是使用 Google 的 OAuth 來進行驗證與授權,若你要用 .NET 來開發 Google API 應用,可以說幾乎找不到完整的文件與範例程式可供參考,所以上手確實有點難度。今天我就整理一下今天的研究心得,記錄一些常見的程式寫法。
... 繼續閱讀 ...
要套用 Entity Framework Code First Migrations 資料庫移轉,一共有 5 種方法,每種方法都有著不同的適用情境,有些方法適用於開發測試環境,有些方法則適用於正式部署的環境。今天這篇文章我就來介紹幾種不同的套用資料庫移轉方法。
... 繼續閱讀 ...
記得我在 13 年前寫過一篇 關於 Entity Framework 獨立放在 DAL 專案的注意事項 文章,今天我想來寫另一篇關於 Entity Framework Core 獨立放在單獨專案的注意事項,幫助大家更好的架構 .NET 應用程式。
... 繼續閱讀 ...
大家都知道,要反組譯一個 .NET 開發的 *.dll
檔案是非常容易的一件事,只要安裝 ILSpy 工具,就可以很輕易的把當初撰寫的原始碼全部還原。話說回來,我們公司承接的專案,一向都提供完整的原始碼給客戶,所以我自己不太有「混淆器」的需求。但我記得多年前我們有個用 .NET 開發的產品,當時就有用到 .NET 混淆器,避免組件被客戶反組譯。今天這篇文章,我打算介紹一個名為 Obfuscar 的好用工具,教你怎樣把手邊編譯過的 .NET 組件混淆成誰也無法理解的版本。
... 繼續閱讀 ...
ASP.NET Core Data Protection 提供了一組加密 API (cryptographic API) 來保護資料安全,其中還自動包含了密鑰管理(key management)與密鑰更換(key rotation)等機制。這套技術主要用來長期取代 .NET Framework 的 ASP.NET 1.x ~ 4.x 中 web.config
定義的 <machineKey>
元素,我研究之後發現這套機制不但簡單好上手,背後的金鑰管理也有一定程度的複雜度,可算是相當不錯的資料保護解決方案。這篇文章我想帶大家快速上手 ASP.NET Core 資料保護機制,並透過一個簡單範例說明他的加解密的用法。
... 繼續閱讀 ...
我前陣子在研究 LINE Login 使用的 ES256
非對稱加密演算法,當我透過 OpenId Connect 拿到 ID Token 後,我想拿 LINE Login 提供的 JWKs 金鑰組來驗證其有效性,這篇文章我打算分享如何用 C# 搭配 LINE Login 提供的 JWKs 金鑰組來驗證其有效性!
... 繼續閱讀 ...