什么是IActionResult
?我试过看MSDN和其他网站,但需要一般的,常见的易于理解的答案。
示例:
public IActionResult About() {
ViewData["Message"] = "About Page";
return View();
}
答案 0 :(得分:3)
一般而言,IActionResult
类型是动作结果的基本抽象。它被用作表示特定响应类型的其他派生操作结果的基础,其中有许多响应类型。
参考Asp.Net Core Action Results Explained
IActionResult和ActionResult
IActionResult和ActionResult作为其他操作结果的容器,IActionResult是一个接口,ActionResult是其他操作结果继承的抽象类。所以他们不能像其他行动结果那样被新手和归来。 IActionResult和ActionResult与可用性视角没有太大区别,但由于IActionResult是行动结果的预期契约,因此最好使用它而不是ActionResult。应该使用IActionResult / ActionResult为我们提供更多的灵活性,例如当我们需要根据用户交互返回不同类型的响应时。
引用官方文档Controller action return types in ASP.NET Core Web API
当一个动作中有多个ActionResult返回类型时,IActionResult返回类型是合适的。 ActionResult类型表示各种HTTP状态代码。属于此类别的一些常见返回类型是BadRequestResult(400),NotFoundResult(404)和OkObjectResult(200)。
答案 1 :(得分:0)
IActionResult
指定服务器应如何响应请求,例如简单地将数据写入响应或返回错误状态代码。
例如,Microsoft.AspNetCore.Mvc.JsonResult
序列化从构造函数传递的对象,并将序列化的Json数据写入响应并将mimetype设置为application / json。它可以被理解为"该请求产生一个json字符串"。