Compartir a través de


ASP0004: No usar los resultados de la acción con controladores de ruta

Valor
Identificador de la regla ASP0004
Categoría Uso
La corrección es problemática o no problemática Poco problemático

Causa

Un delegado del controlador de ruta devuelve un valor que implementa IActionResult.

Descripción de la regla

Los puntos de conexión del controlador de rutas no admiten la ejecución de instancias de IActionResult de MVC. Devolver un IActionResult que no implementa IResult da como resultado serializar la instancia de resultado en lugar de ejecutar el resultado.

app.MapGet("/todos/{id}", (int id) => new JsonResult(new Todo { .. }));

Cómo corregir infracciones

Para corregir una infracción de esta regla, asegúrese de que el controlador de rutas del punto de conexión devuelve un tipo IResult mediante los métodos de extensión de Results.

app.MapGet("/todos/{id}", (int id) => Results.Json(new Todo { .. }));

Cuándo suprimir las advertencias

No suprima las advertencias de esta regla. Devolver un IActionResult que no implementa IResult da como resultado serializar la instancia de resultado en lugar de ejecutar el resultado.