什么时候 context.Result null 在动作过滤器 .NET 中?
When is context.Result null inside of an action filter .NET?
我注意到 ASP.NET Core MVC ModelStateInvalidFilter
在检查 ModelState.IsValid
之前检查是否 Context.Result == null
?什么原因?
答案在Result
属性 说明评论在ActionExecutingContext.cs:
Gets or sets the IActionResult
to execute. Setting Result
to a
non-null value inside an action filter will short-circuit the action
and any remaining action filters.
这意味着如果操作的 short-circuit 已经启动,则在 context.ModelState.IsValid
设置为 false
的情况下没有理由覆盖先前的值。这是错误的做法。
我注意到 ASP.NET Core MVC ModelStateInvalidFilter
在检查 ModelState.IsValid
之前检查是否 Context.Result == null
?什么原因?
答案在Result
属性 说明评论在ActionExecutingContext.cs:
Gets or sets the
IActionResult
to execute. SettingResult
to a non-null value inside an action filter will short-circuit the action and any remaining action filters.
这意味着如果操作的 short-circuit 已经启动,则在 context.ModelState.IsValid
设置为 false
的情况下没有理由覆盖先前的值。这是错误的做法。