Переопределение OnActionExecuting и загрузка файла.ashx

У меня есть проект MVC, который использует стороннюю страницу загрузки.ashx. У меня также есть следующее переопределение для OnActionExecuting(ActionExecutingContext filterContext):

public override void OnActionExecuting(ActionExecutingContext filterContext) {
   SessionContext context = (SessionContext)filterContext.HttpContext.Session[SessionConstants.SessionContext];

   if (context == null || context.Ticket == null) {
       filterContext.Result = new RedirectResult(TimeoutRedirectUrl);
       return;
   }

   base.OnActionExecuting(filterContext);
}

Это здесь, чтобы убедиться, что пользователи все еще входят в систему, когда они посещают страницы MVC. Однако после того, как пользователь загрузил файл, похоже, что "контекст" пуст, а затем OnActionExecuting() перенаправляет пользователя.

Почему больше не будет контекста после того, как пользователь загрузит файл? Я хочу, чтобы они все еще были в системе.

1 ответ

Вы пытались использовать метод действия контроллера для загрузки файла вместо универсального обработчика? Обработчики очень низкого уровня и по умолчанию не имеют доступа к файлам cookie, сеансам и т. Д.

Другие вопросы по тегам