Freigeben über


ASP0003: Verwenden Sie keine Modellbindungsattribute mit Routenhandlern.

Wert
Regel-ID ASP0003
Kategorie Usage
Korrektur ist blockierend oder nicht-blockierend Non-breaking

Ursache

Ein Routenhandlerdelegat enthält einen Parameter mit einem [Bind] Attribut.

Regelbeschreibung

Routinghandlerendpunkte unterstützen nur eine Teilmenge von MVC-Attributen wie [FromRoute], [FromBody]usw. Nicht unterstützte Attribute werden ignoriert und führen zu unerwartetem Bindungsverhalten. Der folgende Code führt z. B. zu einer Analysewarnung:

app.MapGet("/todos/{id}", ([Bind] int id) => new Todo { Id = id });

Wie man Verstöße behebt

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 aus dieser Regel. Eine fehlerhafte Modellbindungskonfiguration kann zu unerwartetem Verhalten führen, wenn Parameter zur Laufzeit aufgelöst werden.