- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
只是好奇,它们听起来很相似。 ExecuteCore() 与 OnActionExecuting(ActionExecutingContext filterContext) 之间有什么区别?
在什么情况下一个比另一个更有用?
最佳答案
实际上,它们只是 MVC 执行管道中的不同点。
ExecuteCore 被调用 Controller 本身之后的 MvcHandler被实例化。到这一刻MVC甚至不知道如何 Controller 将调用它的 Action 。您可以覆盖标准 Controller 的 ExecuteCore 进行调整其整体执行流程a一点点。
OnActionExecuting 是一个完全不同的故事。它被称为 Action 过滤器调用 Controller Action 调用者。通过那个点 MVC 已经知道那个 Action 存在,调用它,获得所有过滤器(通常定义为属性)并在一个整体执行的给定时刻管道(OnActionExecuting,OnActionExecuted,OnResultExecuting等等)。
这取决于您在决定使用哪个扩展点时想要实现的目标。
关于c# - ExecuteCore() vs OnActionExecuting(ActionExecutingContext filterContext)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4440594/
filterContext.ExceptionHandled 属性是否曾经被 MVC 设置为 true 或者它是否仅被用户代码设置为 true?如果是这样,这是在哪里发生的? 最佳答案 filterC
我看过很多指南,其中自定义授权过滤器的实现涉及调用 base.OnAuthorization(filterContext) 作为最后一步。我有我自己的自定义授权过滤器,它在没有上面提到的情况下工作得很
我只是在看我的一些旧代码,我有一个 Action 过滤器(OnActionExecuting 方法) 最后我有 base.OnActionExecuting(filterContext); 为什么到
在我的 OnActionExecuting 事件中,我想重定向到 Controller 操作方法,但似乎我必须传递 URL。 我不想对 URL 进行硬编码,尤其是当我不知道根 URL 时,即它可能是子
在我的 OnActionExecuting 事件中,我想重定向到 Controller 操作方法,但似乎我必须传递 URL。 我不想对 URL 进行硬编码,尤其是当我不知道根 URL 时,即它可能是子
我有一个应用了属性的 Controller 操作,如果 ModelState 有错误,它会将它们设置为 OnResultExecuting 方法中的 JsonResult。 我在 MyAction 中
只是好奇,它们听起来很相似。 ExecuteCore() 与 OnActionExecuting(ActionExecutingContext filterContext) 之间有什么区别? 在什么情
我刚刚将 Application Insights 安装到我的 .Net MVC Web 应用程序中。在 Web.config 文件中进行了几处更改,其中之一是 ... 这对我来说似乎很好。问题
我遇到了一个我不知道如何解决的问题。 我的问题的上下文是基于需要在 session 变量丢失时将用户重定向到登录。 我们正在做的是对 Controller Action 进行装饰,预览以执行 Acti
在 RC1 之前我们做了这样的事情: public void OnAuthorization(AuthorizationContext filterContext) { if
我不确定我遗漏了什么,但我真的无法引用 OnActionExecuting(ActionExecutingContext filterContext) 下的 User.Identity using S
在 AspNetCore 中,给定一个 FilterContext,我正在寻找一个路由模板,例如{controller}/{action}/{id?} 在 Microsoft.AspNet.WebAp
我目前有 2 个过滤器,Auth 和 Redirect,它们执行以下操作:Filter Auth,实现 IAuthorizationFilter 和 ActionFilter,检查用户登录和授权,如果
从字面上看,它是一个 bool 值,表示该 Action 是否为子 Action 。 我经常看到这段代码: protected override void OnActionExecuting(Acti
我需要仅过滤 Controller 操作中具有返回类型 ActionResult 的所有操作中的方法。我从以下获取 Controller 名称和操作名称.. string originControll
情况是这样的: 我找不到获取传递给 POST 操作方法的 viewModel 的方法。 [HttpPost] public ActionResult Edit(SomeCoolModel viewMo
我有一个 ASP.NET MVC 3 项目,其中包含模型绑定(bind)到 View 模型的 POST 操作 [HttpPost] public virtual ActionResult Reply(
我是一名优秀的程序员,十分优秀!