我在ASP中注意到。NET Core MVCModelStateInvalidFilter
在检查ModelState.IsValid
之前是否检查Context.Result == null
?原因是什么?
ActionExecutingContext.cs:中Result
属性描述注释中的答案
获取或设置要执行的
IActionResult
。将Result
设置为动作过滤器内的非null值将使动作短路以及任何剩余的动作过滤器。
这意味着,如果动作短路已经启动,则在context.ModelState.IsValid
设置为false
的情况下,没有理由覆盖以前的值。这将是错误的做法。