通过ActionResult返回Json返回类型操作或JsonResult返回类型操作。哪一个是轻量级还是快速?

时间:2014-03-06 04:28:00

标签: c# asp.net-mvc

一位采访者问我这个问题。就我对MVC架构的理解而言,ActionResult是一个抽象类,所有类都从该类继承。

但他具体询问哪一项行动会轻量化?

public ActionResult ar() { return Json(); }

OR

public JsonResult ar() { return Json(); }

3 个答案:

答案 0 :(得分:4)

我不是最大的C#或MVC专家,但这是一个技巧问题

他们是一样的。

你是对的,ActionResult是一个抽象类,JsonResult继承它。

答案 1 :(得分:2)

@Lakshay你的回答是正确的,一个人返回JSON而另一个人没有激动人心地说没有任何意义。如果返回的JSON是相同的,public JsonResult ar() { return Json(); }在疯狂的时间会稍微快一些......意味着它不会。

你的面试官是他头脑中的一个人 - 不要在这个地方接受工作。真的,如果他问你这样的问题,它只表示......他不知道或者更糟,尽管他知道。情况可能就是这样。

你给出了一个愚蠢问题的最佳答案(有点像以前的MS或Google问题)。

答案 2 :(得分:0)

你的答案“我不知道”确实是一个很好的答案。也许面试官正在寻找你对一个荒谬的问题的态度或反应。果然你可以使用ActionResult来返回Json对象,但是你必须手动完成所有相关的工作。例如,您必须分配正确的ContentType。 JsonResult可以在幕后为您完成所有这些工作。