- 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/
我想添加一些代码来记录 Controller 中每个 Action 调用所花费的时间。我看到了在 Controller 的 OnActionExecuting 方法中创建一个 Stopwatch 并停
有没有办法在不使用 session 变量的情况下从 OnActionExecuted 的 MVC 操作中获取 HTTP 状态代码? 最佳答案 有几种方法可以访问它。主要是通过 ActionExecut
我有以下内容: public override void OnActionExecuting(ActionExecutingContext filterContext) {
我创建了一个 ActionFilterAttribute,用于在允许处理 MVC Controller get/post 请求之前验证帐户是否可用于处理。如果该帐户不可用,我想向客户返回错误。如果请求
使用 .NET 核心 MVC C# 我有一个 Controller : [ServiceFilter(typeof(MyCustomFilter))] public class HomeControl
我想知道如何在 OnActionExecuting 覆盖方法中检查 Controller 方法是否具有特定属性,例如 AllowAnonymous。 我试过这个: var methodAttr = A
如果这很明显,我深表歉意,但我正在尝试创建一个属性来处理局部 View 中使用的模型的缓存。 [MyCache(typeof(MyModel))] public ActionResult My
我正在尝试对自定义 ActionFilterAttribute 进行单元测试。例如: public class ActionAuthorizationAttribute: ActionFilterAt
我正在尝试重定向未通过 OnactionExecuting() 进行身份验证的访问者,以便它覆盖我的整个 Controller ,但它几乎就像被完全跳过一样。是否可以从 OnActionExecuti
我制作了一个实现了 OnActionExecuted 方法的 ActionFilterAttribute。也就是说,它在 Action 方法之后运行。但是,在某些情况下,我希望 OnActionExe
我的网址如下所示: www.example.com/{languagecode}/{controller}/{action}/{id} 其中语言代码是 en-us 等。 从 OnActionExecu
我们正在尝试实现一个非托管 header ,它将接受 *.website.com 之前的任何内容|在 ASP.NET 中。由于它将接受任何子域,因此我们扩展了 HttpContextBase 类以添加
我创建了一个基本 Controller ,我的每个 Controller 都继承了它。在这个 Controller 中,我有 OnActionExecuting 方法。我用它来检查一些参数的 url。
如果用户 session 超时,我正在尝试在我的 BaseController 中使用 OnActionExecuting 来处理重定向到登录屏幕。然而,它甚至在我登录之前就导致无限重定向 - 谁能建
在我的 MVC 4 网络应用程序中,我要求用户在使用该应用程序一定天数后选择一种付款方式。 我通过创建一个 Controller 基类并使我所有的 Controller 都继承自它来实现它。基类有如下
如果某些 session 变量为空,我会有点困惑,我想生成一个局部 View 而不是 redirectResult。是否可以?如果是这样怎么办?我可以看到有一个 PartialViewResult,但
我有多个 ASP.NET MVC 5 项目,它们在页面顶部有标题/菜单,其中 html 完全相同。从数据库中提取了一些菜单项、 Logo 和链接。为了跨项目消除这些冗余代码,我想为标题使用一个共享项目
OnActionExecuted 和 OnResultExecuting 有什么区别?一旦处理完 Action ,它们会立即被解雇,还是在这两种方法之间发生某些事情。就像 View 引擎的初始化一样,
我稍微修改了默认路由规则,如下所示: routes.MapRoute( "Default", // Rou
我搜索了高低,似乎找不到直接的答案。 如果我有自定义属性/过滤器,OnActionExecuted 是否会出现?方法总是被调用?即使有异常抛出? 最佳答案 至少在 MVC 5 中,@tvanfosso
我是一名优秀的程序员,十分优秀!