ventajas - Controlador ASP.Net MVC Acciones que vuelven vacías
tag helpers asp net core (3)
Si tengo la siguiente acción de controlador ...
public void DoSomething()
{
}
¿El marco realmente lo convertirá en esto?
public EmptyResult DoSomething()
{
return new EmptyResult();
}
No lo "convertirá", pero los dos tendrían el mismo efecto en lo que concierne al usuario. Se enviaría una solicitud, pero no se respondería al cliente.
Personalmente, creo que debe enviar una respuesta al cliente, incluso si solo escribe una continuación o un éxito directamente en la secuencia de respuesta. Incluso un JSON true
, o un documento XML vacío es mejor que nada en absoluto.
Parece que sí, verifique el código fuente de ControllerActionInvoker.cs . No lo he verificado, pero la lógica me dice que un retorno nulo establecerá que actionReturnValue sea nulo, por lo que se genera un EmptyResult. Este es el código fuente más reciente, no se ha verificado la fuente de ASP.net MVC 1.0.
protected virtual ActionResult CreateActionResult(ControllerContext controllerContext, ActionDescriptor actionDescriptor, object actionReturnValue) {
if (actionReturnValue == null) {
return new EmptyResult();
}
ActionResult actionResult = (actionReturnValue as ActionResult) ??
new ContentResult { Content = Convert.ToString(actionReturnValue, CultureInfo.InvariantCulture) };
return actionResult;
}
Sí
Un controlador que devuelve vacío producirá un EmptyResult.
Tomado de