在C#中,ActionFilterAttribute是一個特性類,用于在控制器的動作方法執行前后添加自定義邏輯。它可以用于實現日志記錄、異常處理、權限驗證等功能。
要使用ActionFilterAttribute,可以按照以下步驟進行操作:
創建一個繼承自ActionFilterAttribute的自定義特性類,例如:
public class CustomActionFilterAttribute : ActionFilterAttribute
{public override void OnActionExecuting(ActionExecutingContext context){// 在動作方法執行前執行的邏輯// 可以在這里進行權限驗證、日志記錄等操作}public override void OnActionExecuted(ActionExecutedContext context){// 在動作方法執行后執行的邏輯// 可以在這里進行異常處理、結果處理等操作}
}
在控制器的動作方法上添加CustomActionFilterAttribute特性,例如:
[CustomActionFilter]
public IActionResult Index()
{// 控制器的動作方法邏輯return View();
}
當執行Index方法時,CustomActionFilterAttribute中的OnActionExecuting方法會在方法執行前被調用,OnActionExecuted方法會在方法執行后被調用。
通過使用ActionFilterAttribute,可以方便地對控制器的動作方法進行統一的處理和攔截,提高代碼的可維護性和復用性。