ExecuteCore()vsOnActionExecuting(ActionExecutingContextfilterContext)?只是好奇,他们听起来很相似。ExecuteCore()和OnActionExecuting(ActionExecutingContextfilterContext)有什么区别?在什么情况下一种比另一种更有用?其实它们只是MVC执行流程中的不同点。ExecuteCore在实例化控制器本身后由MvcHandler调用。到目前为止,MVC甚至不知道控制器将如何调用它的操作。您可以覆盖标准控制器的ExecuteCore以稍微调整其整体执行过程。OnActionExecuting是一个完全不同的故事。它在ControllerActionInvoker的动作过滤器调用期间被调用。那时,MVC已经知道操作存在,调用它,获取所有过滤器(通常定义为属性)并在整个执行管道(OnActionExecuting、OnActionExecuted、OnResultExecuting等)的给定时刻执行它。这取决于您在决定使用哪个扩展点时想要实现的目标。ExecuteCore在控制器初始化后调用,而OnActionExecuting稍后在执行管道中发生,并在调用控制器操作之前立即调用。在第二种方法中,您可以直接操作actionresult并通过重定向(例如)到某个其他操作来短路操作的执行:所有共享的内容,如果它对您有用并且您需要了解更多有关C#的信息学习教程,希望大家多多关注—filterContext.Result=...本文收集自网络,不代表立场。如涉及侵权,请点击权利联系管理会员删除。如需转载请注明出处:
