Cuándo usar JsonResult sobre ActionResult

No he podido encontrar una respuesta concreta con respecto a esta pregunta. He visto publicaciones y publicaciones posteriores deesta pregunta y en otros lugares, pero todo lo que realmente he leído es que JsonResult tiene un tipo de contenido codificado y realmente no hay ganancias de rendimiento.

Si ambos resultados pueden devolver Json, ¿por quénecesitar usar JsonResult sobre ActionResult.

public ActionResult()
{
    return Json(foo)
}

public JsonResult()
{
    return Json(bar)
}

¿Alguien puede explicar un escenario donde ActionResult simplemente no puede hacer el trabajo y JsonResultdebe ser usado. Si no, ¿por qué existe JsonResult en primer lugar?

Respuestas a la pregunta(4)

Su respuesta a la pregunta