也许我误解了ActionFilterAttribute的观点,但我现在所拥有的内容如下:
public class MyCustomAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//do something useful here
}
}
然后在我的Home控制器中,我有以下操作方法:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[MyCustom]
public ActionResult Test()
{
return View();
}
}
我现在期望当我尝试访问OnActionExecuting
时/Home/Test
被触发,但当我尝试访问/Home/Index
时则不会被触发。
但是,两种操作方法都会被触发。我还在OnActionExecuting
内部验证了实际上已调用的Index
操作。
当你调用标有属性的动作方法时,是否有可能只调用OnActionExecuting
?
答案 0 :(得分:7)
检查MyCustomAttribute
中GlobalFilters
集合中是否存在Global.asax
。