【问题标题】:Override of OnActionExecuting and a .ashx file upload覆盖 OnActionExecuting 和 .ashx 文件上传
【发布时间】:2010-11-26 17:28:49
【问题描述】:

我有一个使用 3rd 方上传 .ashx 页面的 MVC 项目。我还对 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() 重定向用户。

为什么用户上传文件后不再有上下文?我希望他们仍然处于登录状态。

【问题讨论】:

    标签: c# asp.net-mvc onactionexecuting


    【解决方案1】:

    您是否尝试过使用控制器操作方法而不是通用处理程序来上传文件?处理程序级别非常低,默认情况下无法访问 cookie、会话等。

    【讨论】:

    • 我想这是我应该前进的方向,因为我认为它会解决很多问题。我只使用一个处理程序,因为在我之前从事这个项目的人这样做了。我想尝试让它在没有大量或重写的情况下工作,但我认为这不会发生。
    猜你喜欢
    • 2012-12-06
    • 2023-03-17
    • 2021-02-10
    • 2023-02-03
    • 2011-05-31
    • 1970-01-01
    • 2011-12-25
    • 2018-05-20
    • 2011-08-27
    相关资源
    最近更新 更多