【问题标题】:Orchard CMS continues executing request after permanent redirect from IActionFilterOrchard CMS 在从 IActionFilter 永久重定向后继续执行请求
【发布时间】:2013-05-15 18:06:06
【问题描述】:

我们有一个使用 Orchard CMS 的网站,并且我们编写了一个“RedirectFilter”来对旧 URL(与相关内容项的 AutoroutePart 模式不匹配的别名)进行永久重定向。

过滤器实现IActionFilter并继承FilterProvider。它工作正常,当它进行重定向时,它会在OnActionExecuting 中调用以下方法:

filterContext.HttpContext.Response.RedirectPermanent(targetPath, true);

根据文档,第二个参数建议将抛出ThreadAbortException 以中止当前请求。但是,仍会针对旧版 URL 处理请求,我知道这一点是因为部件驱动程序仍会为旧版和新版 URL 执行

如何在没有 Orchard 继续执行的情况下中止来自过滤器的请求?

【问题讨论】:

    标签: asp.net-mvc orchardcms action-filter


    【解决方案1】:

    刚刚解决了这个问题。需要改用这个:

    filterContext.Result = new RedirectResult(targetPath, true);

    我猜你不能在过滤器中调用RedirectPermenant

    【讨论】:

      猜你喜欢
      • 2016-05-13
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多