【问题标题】:What is the sequence ActionFilter Attribute For Execution?执行的序列 ActionFilter 属性是什么?
【发布时间】:2020-05-27 13:56:03
【问题描述】:

在 ASP.NET MVC 中,哪个动作过滤器方法是按顺序执行的?

谁能告诉我以下方法的执行顺序?从上到下。

即倒数第一名:

OnActionExecuting()
OnActionExecuted()
OnResultExecuted()
OnResultExecuting()

【问题讨论】:

  • 阶段执行的顺序似乎是正确的,参见this document中的清单2

标签: c# .net asp.net-mvc-5 action-filter


【解决方案1】:

在Asp.Net MVC中,ActionFilterAttribute抽象类有以下方法:这些动作过滤器方法按以下顺序执行,

  1. OnActionExecuting() - 由 ASP.NET MVC 框架在操作方法执行之前调用。
  2. OnActionExecuted() - 由 ASP.NET MVC 框架在操作方法执行后调用。
  3. OnResultExecuting() - 由 ASP.NET MVC 框架在操作结果执行之前调用。
  4. OnResultExecuted() - 由 ASP.NET MVC 框架在操作结果执行后调用。

您可以尝试this example跟踪执行顺序

进一步阅读 - Msdn

【讨论】:

    【解决方案2】:

    你的顺序不正确。

    OnActionExecuting()
    OnActionExecuted()
    OnResultExecuting()
    OnResultExecuted()
    
    

    在标题创建日志操作过滤器https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions-1/controllers-and-routing/understanding-action-filters-cs

    下有一些文档

    【讨论】:

    • 这是错误的 OnResultExecuting() 在 OnResultExecuted() 之前执行。您在答案中提供的链接正确显示。请阅读。
    • 啊,是的,我复制粘贴不正确。感谢您选择
    猜你喜欢
    • 2015-02-16
    • 1970-01-01
    • 2011-02-08
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多