这里我想从自定义 Action 过滤器
返回,而不执行中的
controller
action
method
>asp.net coreWEB API
.
以下是我对示例 code
的要求。
public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
bool valid=SomeMethod();
if(valid)
//executes controller action
else
//returns without executing controller action with the custom message (if possible)
}
我已经搜索并找到了一些相关的问题和答案,但对我没有任何帮助。
找到了这个await base.OnActionExecutionAsync(context, next);
但是它跳过了filters
的剩余逻辑,直接执行controller action
所以不适用于我的场景。
最佳答案
public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
bool valid=SomeMethod();
if(valid)
await next();
else
context.Result = new BadRequestObjectResult("Invalid!");
}
关于c# - 从 OnActionExecutionAsync 返回而不在 asp.net 核心中执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54882813/