我有一个属性类,它扩展了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();