想在Controller Action執行前後做某些事情,可以利用ActionFilterAttribute
包含有四個override方法:
OnActionExecuting: 在執行 Action 之前
OnActionExecuted: 在執行 Action 之後
OnResultExecuting: 在執行 Action Result 之前
OnResultExecuted: 在執行 Action Result 之後
用法:
1. 讓自訂的LogAttribute繼承ActionFilterAttribute,override OnActionExecuting,做某一些事情
namespace MyProj { public class LogAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { //Do something } } }
2.在Controller的某個Action加上Attribute:LogAttribute
namespace MyProj.ControllerName { public class HomeController : Controller { [LogAttribute] public ActionResult Index() { return View(); } ......