正在为所有操作调用ActionFilterAttribute

Øyv*_*hen 4 .net actionfilterattribute asp.net-mvc-3

也许我误解了ActionFilterAttribute的观点,但我现在所拥有的是以下内容:

public class MyCustomAttribute : ActionFilterAttribute
{
  public override void OnActionExecuting(ActionExecutingContext filterContext)
  {
    //do something useful here
  }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的Home控制器中,我有以下操作方法:

public class HomeController : Controller
{
  public ActionResult Index()
  {
    return View();
  }

  [MyCustom]
  public ActionResult Test()
  {
    return View();
  }
}
Run Code Online (Sandbox Code Playgroud)

我现在期望的是,OnActionExecuting当我尝试访问时会被触发/Home/Test,但是当我尝试访问时却没有/Home/Index.

但是,它会被两个动作方法触发.我也在内部验证过OnActionExecuting,实际上有Index一个被调用的动作.

OnActionExecuting当你调用一个用属性标记的动作方法时,是否有可能只被调用?

Ked*_*dya 7

检查收藏中是否MyCustomAttribute存在.GlobalFiltersGlobal.asax