Condividi tramite


MVC1006: i metodi contenenti TagHelpers devono essere asincroni e restituire l'attività

Valore
ID regola MVC1006
Correzione che causa un'interruzione o un'interruzione Interruzione

Causa

Un helper tag è stato definito all'interno di una Razor funzione che esegue in modo sincrono

Descrizione regola

L'esecuzione dell'helper tag è asincrona. Se usato all'interno di un metodo o di un'espressione lambda all'interno di una Razor pagina, la funzione contenitore deve essere dichiarata anche asincrona.

Si consideri il file cshtml seguente:

void Helper(string controller)
{
    <a asp-controller="@controller">Home</a>
}

asp-controller è un helper tag e attiverà questa regola.

Come correggere le violazioni

Dichiarare la funzione come asincrona e la restituzione di Task:

async Task Helper(string controller)
{
    <a asp-controller="@controller">Home</a>
}

Quando eliminare gli avvisi

Non escludere un avviso da questa regola.