值類型與引用類型、裝箱與拆箱、類別與結構差異、介面與抽象類別比較
1. 堆疊與堆積記憶體分配區別 記憶體內部組織:分為堆疊區、堆積區、全域區(靜態區)static、字面常數區、程式碼區。 堆疊區:由編譯器自動分配釋放,存放函
.NET NPOI 操作 Excel 常用函數總結(NPOI 2.0 版本)
最近因專案接觸 NPOI,感覺相當不錯。網路上教程多較舊版本,本文記錄常用操作,採用 NPOI 2.0 版本。 推薦:NPOI 官方網站、NPOI 1.2.4/
WebAPI 中過濾器的 AOP 實現方式
提到 AOP 程式設計,許多人既熟悉又覺得陌生。AOP 的核心在於橫切關注點,將分離後的關注點以「面」的形式呈現。這是概念說法,我們用一個提交訂單的 API 場
.NET 對象與 Windows 句柄(二):句柄分類與 .NET 句柄洩漏實例解析
上一篇文章介紹了句柄的基本概念,並示範了 C# 中建立檔案句柄的過程。我們已知句柄代表 Windows 內部對象,檔案對象只是其中一種,顯然系統中還存在更多其他
.NET 物件與 Windows 控制代碼:基本概念與洩漏排查
什麼是控制代碼? Windows 核心物件 (檔案、視窗、執行緒、互斥體等) 由物件管理器統一管理。應用程式無法直接操作記憶體中的核心物件,必須透過 Windo
Web API 安全防護:防篡改與防重放攻擊實作方案
威脅場景 篡改:攔截請求修改參數 (如金額 10 → 100000)。 重放:合法請求被捕獲並重複發送 (如重複扣款)。 防篡改:簽名驗證 (HMAC-S
WebAPI 中使用過濾器實現 AOP 切面程式設計完整實戰
提到 AOP 程式設計,許多人既熟悉又陌生。AOP 作用是橫切關注點,將分離的關注點以切面形式呈現。舉例說明:API 處理提交訂單場景,客戶端先驗證資料合法性,
不裝 Mono,.NET 程式也能在 Linux 直接執行!AnyExec 實戰教學
讓 .NET 應用程式在 Linux 執行,通用做法是安裝 Mono,再用 mono your.exe 執行。但這有兩個弱點:一、客戶機需安裝 Mono;二、命
IDataParameter[] 介面陣列使用技巧與三種建立方式
從表面看,IDataParameter[] 實例就是 IDataParameter 陣列。但 IDataParameter 實際上無法直接實例化,所以這類陣列不
Entity Framework CodeFirst 與 Model 映射實戰:Fluent API 深度解析
上一篇《Entity Framework 簡介》提到 ORM 關鍵在 Mapping,最早用特性+反射實現。EntityFramework 實現 Mapping
Entity Framework 核心入門:ORM 概念與發展史
先從 ORM 說起。多年前,.NET 開源組件不如現在發達,更別說開源 ORM 框架。出於專案需求,加上當時 OOP 興起(總不能專案裡全是 SQL 語句),便
LINQ to XML 讀取複雜 XML(含命名空間)完整解析
前言:XML 操作方式多種,但就使用頻率而言,LINQ to XML 是我最常用的方式,覺得它相當方便,只要幾個方法就能完成簡單 XML 的讀寫。之前專案有個棘
使用 xUnit、EF、Effort 與 ABP 進行單元測試完整指南 (C#)
回到總目錄《一步一步使用 ABP 框架搭建正式項目系列教程》 本篇目錄 介紹 建立測試專案 準備測試基類 建立第一個測試 測試異常處理 在測試中使用倉儲 測