Возможно, я неправильно понял смысл ActionFilterAttribute, но теперь у меня есть следующее:
public class MyCustomAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//do something useful here
}
}
Затем в моем домашнем контроллере у меня есть следующие методы действий:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[MyCustom]
public ActionResult Test()
{
return View();
}
}
Теперь я ожидаю, что OnActionExecuting
сработает, когда я попытаюсь получить доступ к /Home/Test
, но не когда я попытаюсь получить доступ к /Home/Index
.
Однако он срабатывает для обоих методов действия. Я также проверил внутри OnActionExecuting
, что на самом деле вызывается действие Index
.
Есть ли вероятность того, что OnActionExecuting
будет вызываться только при вызове метода действия, отмеченного атрибутом?