Переопределение 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, сеансам и т. Д.