ASP0003: Keine Modellbindungsattribute mit Routenhandlern verwenden
Wert | |
---|---|
Regel-ID | ASP0003 |
Kategorie | Verwendung |
Fix führt oder führt nicht zur Unterbrechung | Nicht unterbrechend |
Ursache
Ein Routenhandlerdelegat enthält einen Parameter mit einem [Bind]
-Attribut.
Regelbeschreibung
Routenhandlerendpunkte unterstützen nur eine Teilmenge von MVC-Attributen wie [FromRoute]
, [FromBody]
usw. Nicht unterstützte Attributes werden ignoriert und führen zu unerwartetem Bindungsverhalten. Der folgende Code führt beispielsweise zu einer Analysewarnung:
app.MapGet("/todos/{id}", ([Bind] int id) => new Todo { Id = id });
Behandeln von Verstößen
Um einen Verstoß gegen diese Regel zu beheben, stellen Sie sicher, dass der Endpunkt eines der zulässigen Modellbindungsattribute verwendet.
app.MapGet("/todos/{id}", ([FromRoute] int id) => new Todo { Id = id });
Wann sollten Warnungen unterdrückt werden?
Unterdrücken Sie keine Warnung dieser Regel. Eine falsche Einrichtung der Modellbindung kann zur Laufzeit zu unerwartetem Verhalten beim Auflösen von Parametern führen.