Я работаю в приложении MVC ASP net core. Моя цель - перенаправить на страницу входа в систему, если срок сеанса истек. В моем случае я использую несколько вызовов ajax для загрузки страницы. Иногда перенаправление выполняется правильно, а иногда нет.
public class CheckSessionIsAvailable : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
if (filterContext.HttpContext == null || filterContext.HttpContext.Session.GetString("UserID") == null)
{
//return RedirectToAction("Index", "Login");
filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new
{
controller = "Login",
action = "Index"
}));
}
}
}
Создал фильтр действий CheckSessionIsAvailable и связал его со всеми контроллерами.
[CheckSessionIsAvailable]
public class TestController : Controller
{
public IActionResult Index()
{
return View();
}
}
Я что-то делаю неправильно при создании фильтра действий?