如何重定向ASP.NET CORE 3.1中的筛选器



我有一个属性类,它扩展了ASP.NET CORE 3.1(C#(中的IAsyncActionFilter。在OnActionExecutionAsync方法中,我希望重定向到另一个控制器/方法,而不调用初始方法调用中的任何其他筛选器。

我试过在OnActionExecutionAsync:中使用这个

context.Result = new RedirectToActionResult("MethodName", "Home", null);
await next();

当我这样做时,我会得到以下错误:

如果IAsyncActionFilter通过设置resultActionExecutingContext的属性设置为非null值,则不能通过调用ActionExecutionDelegate调用下一个筛选器。

我可以删除await next((,但随后调用初始方法上的其他过滤器。

我在谷歌上搜索了很多,但都没有找到。

实现这一目标的正确语法是什么?

谢谢!

我遇到了同样的问题,由于没有人回答,我只是分享我的解决方案。

如果设置了Result:,就不要调用next((

context.Result = new RedirectToActionResult("MethodName", "Home", null);
if (context.Result != null)
await next();

最新更新