Переопределение OnActionExecuting и загрузка файла .ashx - PullRequest
0 голосов
/ 26 ноября 2010

У меня есть проект 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.Однако после того, как пользователь загрузил файл, похоже, что «context» имеет значение null, а затем OnActionExecuting () перенаправляет пользователя.

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

1 Ответ

0 голосов
/ 27 ноября 2010

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

...