Udostępnij za pośrednictwem


ASP0003: Nie używaj atrybutów powiązania modelu z procedurami obsługi tras

Wartość
Identyfikator reguły ASP0003
Kategoria Użycie
Poprawka powodująca niezgodność lub niezgodność Niezgodność

Przyczyna

Delegat obsługi tras zawiera parametr, który ma [Bind] atrybut.

Opis reguły

Punkty końcowe obsługi tras obsługują tylko podzestaw atrybutów MVC, takich jak [FromRoute], [FromBody]itp. Nieobsługiwane atrybuty są ignorowane i powodują nieoczekiwane zachowanie powiązania. Na przykład następujący kod powoduje ostrzeżenie analizatora:

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

Jak naprawić naruszenia

Aby naprawić naruszenie tej reguły, upewnij się, że punkt końcowy używa jednego z dozwolonych atrybutów powiązania modelu.

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

Kiedy pomijać ostrzeżenia

Nie pomijaj ostrzeżenia z tej reguły. Nieprawidłowa konfiguracja powiązania modelu może spowodować nieoczekiwane zachowanie podczas rozpoznawania parametrów w czasie wykonywania.