Condividi tramite


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

Valore
ID regola ASP0003
Categoria Utilizzo
Correzione che causa un'interruzione o un'interruzione Nessuna interruzione

Causa

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

Descrizione 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 eliminare 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.