ASP0004: Keine Aktionsergebnisse mit Routenhandlern verwenden
Wert | |
---|---|
Regel-ID | ASP0004 |
Kategorie | Verwendung |
Fix führt oder führt nicht zur Unterbrechung | Nicht unterbrechend |
Ursache
Ein Routinghandlerdelegat gibt einen Wert zurück, der IActionResult implementiert.
Regelbeschreibung
Endpunkte von Routenhandlern unterstützen die Ausführung von IActionResult
-Instanzen von MVC nicht. Die Rückgabe eines IActionResult
, das IResult
nicht implementiert, führt dazu, dass die Ergebnisinstanz serialisiert wird, anstatt das Ergebnis auszuführen.
app.MapGet("/todos/{id}", (int id) => new JsonResult(new Todo { .. }));
Behandeln von Verstößen
Um einen Verstoß gegen diese Regel zu beheben, stellen Sie sicher, dass der Routenhandler des Endpunkts mithilfe der Results-Erweiterungsmethoden den Typ IResult zurückgibt.
app.MapGet("/todos/{id}", (int id) => Results.Json(new Todo { .. }));
Wann sollten Warnungen unterdrückt werden?
Unterdrücken Sie keine Warnung dieser Regel. Die Rückgabe eines IActionResult
, das IResult
nicht implementiert, führt dazu, dass die Ergebnisinstanz serialisiert wird, anstatt das Ergebnis auszuführen.
ASP.NET Core