【发布时间】: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