为什么要使用ActionResult

时间:2017-04-28 11:58:56

标签: c# rest

我有简单的Web服务应用程序:

public class MyController : Controller
{
  public ActionResult balance( int amount)
  {
  return Proceed(a.Balance( amount));
  }
}

只是想知道为什么使用类型ActionResult作为结果。用户如何使用这种类型?为什么我不能使用简单的字符串?

2 个答案:

答案 0 :(得分:3)

如果有多种可能来自ActionResult的返回类型,请使用ActionResult,例如ViewResultFileResultJsonResult等。

例如,如果您有一个方法可以返回一些内容,该怎么办?有一次您可能希望从内存加载它并将其作为JSON(JsonResult)返回。下次调用时,您必须从文件系统加载JSON,FileResult可能会派上用场。

您也可以将字符串用作返回类型,或者如果您想提供Content-Type,则可以使用return Content("Your string")

答案 1 :(得分:1)

原因之一是动作结果包含结果的两个重要部分,而不仅仅是一部分。它包含要返回的状态代码,它包含要返回的正文内容。此外,它还可能包含要返回的http标头。这是您的action方法需要返回ActionResult对象而不仅仅是字符串的一个原因。