首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

Aspect.NET 功能介紹(二):Call 與 Execution Pointcut 差異解析

     編輯:關於ASP.NET

Aspect.NET 是基於 .NET Framework 的 AOP 編織器,支援靜態/動態編織,屬研究性專案。上文介紹基本結構,本文深入 call 與 execution 兩種基礎 Pointcut。

Pointcut 方法模式

修飾符 返回值類型 [方法類型.]方法名稱(參數類型列表)
  • 修飾符:public/protected/private/sealed/static,支援 !、&&、||(如 !private static)。
  • 返回值型別:支援 void、*(通配)、&&、||、!、+(子類,如 System.Object+ 代表所有類)。
  • 方法類型:描述宣告類型,模式同返回值,**不可省略**。
  • 方法名稱:支援 *、new(建構函式)。
  • 參數列表:逗號分隔,支援 .. 表示任意中間參數(如 System.Int,..,string)。

Call vs Execution 差異示範

  • call pointcut: 捕獲呼叫特定方法的程式碼點(呼叫端)。
  • execution pointcut: 捕獲執行特定方法的程式碼點(實作端)。

以簡單 Log 為例,展示 + 子類操作符捕獲衍生類程式碼點,並對比 call/execution 織入位置差異。參數傳遞與進階 Advice 留待後文。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved