ASP.NETコアMVC動作実行順序フィルタ

使用してMicrosoft.AspNetCore.Mvc.Filtersを。
使用してシステムを。
使用してSystem.Threading.Tasksを。

名前空間dotnet_core.Filter 
{ 
    パブリック クラスMyFilterAttribute:ActionFilterAttribute 
    { 
        公共 オーバーライド ボイドOnActionExecuting(ActionExecutingContext filterContext)
        { 
            Console.WriteLineを(" 方法执行之前!" ;)
        } 
        公共 オーバーライド 無効OnActionExecuted(ActionExecutedContextコンテキスト)
        { 
            Console.WriteLineを(" 方法执行之后!");
            ベース.OnActionExecuted(コンテキスト)。
        } 
        パブリック オーバーライド ボイドOnResultExecuting(ResultExecutingContextコンテキスト)
        { 
            Console.WriteLineを(" 返回结果之前!" )。
            ベース.OnResultExecuting(コンテキスト)。
        } 

        公共 オーバーライドタスクOnActionExecutionAsync(ActionExecutingContextコンテキスト、ActionExecutionDelegate次)
        { 
            Console.WriteLineを(" 在OnActionExecuting之前执行" )。
            リターン ベース.OnActionExecutionAsync(コンテキスト、次); 
        } 
        公共 オーバーライドタスクOnResultExecutionAsync(ResultExecutingContextコンテキスト、ResultExecutionDelegate次)
        { 

            // Task.FromResult(0)を返します。
            Console.WriteLineを(" OnResultExecuting之前执行" );
            リターン ベース.OnResultExecutionAsync(コンテキスト、次); 
        } 
        パブリック オーバーライド ボイドOnResultExecuted(ResultExecutedContextコンテキスト)
        { 
            Console.WriteLineを(" 返回结果之后" )。
            ベース.OnResultExecuted(コンテキスト)。
        }  
    }
}

 

 

おすすめ

転載: www.cnblogs.com/mlh1421/p/11568183.html