Condividi tramite


ASP0003: non usare attributi di associazione di modelli con gestori di route

Valore
ID della regola ASP0003
Categoria Uso
La modifica è dirompente o non dirompente Non separabile

Causa

Un delegato del gestore di rotta include un parametro con un attributo [Bind].

Descrizione della regola

Gli endpoint del gestore di route supportano solo un subset di attributi MVC, ad [FromRoute]esempio , [FromBody]e così via. Gli attributi non supportati vengono ignorati e comportano un comportamento di associazione imprevisto. Ad esempio, il codice seguente genera un avviso dell'analizzatore:

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

Come correggere le violazioni

Per correggere una violazione di questa regola, assicurarsi che l'endpoint usi uno degli attributi di associazione di modelli consentiti.

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

Quando eliminare gli avvisi

Non sopprimere un avviso da questa regola. Un'installazione dell'associazione di modelli non corretta può comportare un comportamento imprevisto durante la risoluzione dei parametri in fase di esecuzione.