Dela via


ASP0004: Använd inte åtgärdsresultat med routningshanterare

Värde
Regel-ID ASP0004
Kategori Användning
Korrigeringen är antingen brytande eller icke-brytande Oskiljbar

Orsak

En routningshanteringsdelegat returnerar ett värde som implementerar IActionResult.

Regelbeskrivning

Routningshanterarslutpunkter stöder inte körning av MVC-instanser IActionResult . Om du returnerar en IActionResult som inte implementerar IResult resulterar det i att resultatinstansen serialiseras i stället för att resultatet körs.

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

Så här åtgärdar du överträdelser

Om du vill åtgärda överträdelser av denna regel säkerställer du att slutpunktens routhanterare returnerar en IResult typ med hjälp av tilläggsmetoderna Results.

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

När du ska ignorera varningar

Utelämna inte en varning från den här regeln. Om du returnerar en IActionResult som inte implementerar IResult resulterar det i att resultatinstansen serialiseras i stället för att resultatet körs.