我有简单的Web服务应用程序:
public class MyController : Controller
{
public ActionResult balance( int amount)
{
return Proceed(a.Balance( amount));
}
}
只是想知道为什么使用类型ActionResult
作为结果。用户如何使用这种类型?为什么我不能使用简单的字符串?
答案 0 :(得分:3)
如果有多种可能来自ActionResult
的返回类型,请使用ActionResult
,例如ViewResult
,FileResult
,JsonResult
等。
例如,如果您有一个方法可以返回一些内容,该怎么办?有一次您可能希望从内存加载它并将其作为JSON(JsonResult
)返回。下次调用时,您必须从文件系统加载JSON,FileResult
可能会派上用场。
您也可以将字符串用作返回类型,或者如果您想提供Content-Type
,则可以使用return Content("Your string")
。
答案 1 :(得分:1)
原因之一是动作结果包含结果的两个重要部分,而不仅仅是一部分。它包含要返回的状态代码,它包含要返回的正文内容。此外,它还可能包含要返回的http标头。这是您的action方法需要返回ActionResult
对象而不仅仅是字符串的一个原因。