相同代码在不同文件运行的顺序不一样?

欧皇神降术 2018-03-07 10:57:23
MVC为一个控制器写了俩个过滤器A和B,如果A和B单独写一个类。那个运行的顺序是B.Executing -->A.Executing --->A.Executed -->B. Executed。但是如果A和B俩个过滤器和控制器写在同一个文件里面 那么运行顺序是A.Executing -->B.Executing --->B.Executed -->A. Executed。这个是为什么啊
...全文
383 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
欧皇神降术 2018-03-07
  • 打赏
  • 举报
回复
这个就是全部代码了 上面的是写在一个类里面 如果把A和B的过滤器放在另外一个单独类 运行的顺序就不一样了
欧皇神降术 2018-03-07
  • 打赏
  • 举报
回复
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace WebApiDemo.Controllers { public class OwnerFilter { public static string str = ""; } public class BFilterAttribute : FilterAttribute, IActionFilter { public void OnActionExecuted(ActionExecutedContext filterContext) { OwnerFilter.str += "B.OnActionExecuted\n"; } public void OnActionExecuting(ActionExecutingContext filterContext) { OwnerFilter.str += "B.OnActionExecuting\n"; } } public class AFilterAttribute : FilterAttribute, IActionFilter { public void OnActionExecuted(ActionExecutedContext filterContext) { OwnerFilter.str += "A.OnActionExecuted\n"; } public void OnActionExecuting(ActionExecutingContext filterContext) { OwnerFilter.str += "A.OnActionExecuting\n"; } } public class HomeController : Controller { [AFilter] [BFilter] public ActionResult Index() { ViewBag.Title = "Home Page"; return View(); } } }
  • 打赏
  • 举报
回复
写在同一个文件是指在同一个action或者controller上面吗? 另外没代码说个啥……谁知道你怎么写的

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧