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

ASP.NET MVC 筆記之 Action 過濾器

     編輯:關於ASP.NET

Action 過濾器概覽

以屬性形式標註在 Action 或 Controller 上,MVC 內建:

  • OutputCache:快取 Action 結果指定秒數
  • HandleError:處理 Action 拋出的異常
  • Authorize:限制特定用戶/角色存取

亦可自訂過濾器(自訂驗證、修改回傳資料等)。一個 Action 可套用多個過濾器,亦可套用於整個 Controller。

範例:OutputCache

public class DataController : Controller
{
    [OutputCache(Duration=10)]
    public string Index()
    {
        return DateTime.Now.ToString("T");
    }
}

10 秒內重複請求回傳相同時間字串。

四大過濾器類型與執行順序

  1. Authorization(IAuthorizationFilter):驗證授權,如 Authorize。最先執行。
  2. Action(IActionFilter):Action 執行前/後邏輯,可修改回傳資料。
  3. Result(IResultFilter):View 結果產生前/後邏輯,可修改輸出。
  4. Exception(IExceptionFilter):處理 Action/Result 異常、記錄日誌。最後執行。

預設順序如上,可用 Order 屬性調整。

自訂過濾器基類:ActionFilterAttribute

繼承 FilterAttribute 並實作一或多介面。MVC 提供 ActionFilterAttribute 已實作 IActionFilter、IResultFilter,可覆寫:

  • OnActionExecuting(Action 前)
  • OnActionExecuted(Action 後)
  • OnResultExecuting(Result 前)
  • OnResultExecuted(Result 後)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved