首页 > 解决方案 > 为什么在 Action 和 Result 过滤器中无法访问 context.Result.StatusCode?

问题描述

我正在尝试编写一个动作或结果过滤器,如果状态代码> = 400,它会自动执行某些操作。 ActionExecutedContext.Result 属性看起来应该提供对状态代码的访问: 在此处输入图像描述

但是无法访问状态码: 在此处输入图像描述

这是设计使然吗?获取实际状态码的最佳方法是什么?

标签: c#.net-coreaction-filter

解决方案


此时,IActionResult 尚未执行,因此状态码可能会发生变化。这个基本上有这个问题的答案:制作一个中间件并让它检查状态码。


推荐阅读