「ASP.NET MVC/フィルター」の版間の差分

imported>Administrator
ページの作成:「ASP.NET MVCの'''フィルター'''とは、コントローラークラスやアクションメソッド(コントローラークラスのメソッド)に、[[...」
 
imported>Administrator
78行目: 78行目:
{
{
     //...
     //...
}
</source>
なお、一般的なアクションフィルターであればActionFilterAttributeクラスという便利クラスもあるので、そちらを継承して使った方が手っ取り早い。
<source lang="csharp">
public class LoggingFilterAttribute : ActionFilterAttribute
{
    // アクションフィルター前処理
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        filterContext.HttpContext.Trace.Write("(Logging Filter)Action Executing: " +
            filterContext.ActionDescriptor.ActionName);
        base.OnActionExecuting(filterContext);
    }
    // アクションフィルター後処理
    public override void OnActionExecuted(ActionExecutedContext filterContext)
    {
        if (filterContext.Exception != null)
            filterContext.HttpContext.Trace.Write("(Logging Filter)Exception thrown");
        base.OnActionExecuted(filterContext);
    }
}
}
</source>
</source>