Если перенаправленный контроллер наследуется от того же baseController
, где мы переопределяем метод OnActionExecuting
, вызвать рекурсивный цикл.Предположим, что мы перенаправили его на действие входа в систему контроллера учетной записи, затем действие входа в систему будет вызывать метод OnActionExecuting
и перенаправляться на одно и то же действие входа в систему снова и снова ... Поэтому мы должны применить метод check in OnActionExecuting
для проверки запросас того же контроллера, если это так, то не перенаправляйте его снова.вот код:
защищенное переопределение.
void OnActionExecuting(ActionExecutingContext filterContext)
{
try
{
some condition ...
}
catch
{
if (filterContext.Controller.GetType() != typeof(AccountController))
{
filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary { { "controller", "Account" }, { "action", "Login" } });
}
}
}