c# - 为什么JsonResult需要同时实现IActionResult和IStatusCodeActionResult?
问题描述
JsonResult 的文档(如果我们F12进入JsonResult
Visual Studio 中的定义,我们也可以看到这一点)
实现 IActionResult、IStatusCodeActionResult
我的问题是为什么它需要实现这两个接口?
IStatusCodeActionResult 的文档说它已经实现了IActionResult
解决方案
因为 JsonResult 只需要 IStatusCodeActionResult 属性 StatusCode 和方法 ExecuteResultAsync(ActionContext 上下文)。
这是为了让你可以打电话
public IActionResult ActionMethod()
来自 Asp.Net 控制器。
如果他们这样创建类:
public class JsonResult : IStatusCodeActionResult
然后您需要将操作方法更改为
public IStatusCodeActionResult ActionMethod()
开发人员现在将无法灵活地根据与用户/客户端的交互返回其他响应。
推荐阅读
- javascript - 来自 javascript 客户端的 Websocket 服务器连接提供 net::ERR_CONNECTION_REFUSED
- android - 不清楚 MotionLayout 参数
- php - 在购物车中添加我的订单时重复的项目
- spring-boot - Hibernate ColumnTransformer 和 DataJpaTest
- regex - 正则表达式从文件名中捕获页码
- javascript - 在单个 JSON 文件中循环多个数组(Vanilla JS)
- database - 如何让 Tableau 仅提取特定数据点
- android - 适用于 Android / iOS 的最佳图标大小
- reactjs - 接下来,Redux 和 Kepler.js 和 Deck.GL
- java - 更好的方式来组织 gradle pluginManagement 块