我有一个扩展了IAsyncActionFilter的属性类,它在ASP.NET CORE 3.1 (C#)中使用。在OnActionExecutionAsync方法内部,我想要重定向到另一个控制器/方法,而不调用任何其他过滤器,这些过滤器位于初始方法调用上。
我尝试在OnActionExecutionAsync方法内部使用以下代码:
我这样做时会出现以下错误:
我已经在 Google 上进行了广泛搜索,但没有找到答案。
请问如何正确使用语法以实现此目标?
谢谢!
我尝试在OnActionExecutionAsync方法内部使用以下代码:
context.Result = new RedirectToActionResult("MethodName", "Home", null);
await next();
我这样做时会出现以下错误:
我可以删除 await next(),但这会导致调用初始方法上的其他过滤器。如果 IAsyncActionFilter 通过将 ActionExecutingContext 的 Result 属性设置为非空值来提供结果值,则不能通过调用 ActionExecutionDelegate 调用下一个过滤器。
我已经在 Google 上进行了广泛搜索,但没有找到答案。
请问如何正确使用语法以实现此目标?
谢谢!
ActionExeutingContext.Result
,则其余的过滤器管道将停止执行。请参阅ASP.NET Core中的过滤器文档中的取消和短路部分。 - Jeremy Caney