Freigeben über


MVC1006: Methoden, die TagHelpers enthalten, müssen asynchron sein und „Task“ zurückgeben

Wert
Regel-ID MVC1006
Fix führt oder führt nicht zur Unterbrechung Breaking

Ursache

Ein Taghilfsprogramm wurde in einer Razor-Funktion definiert, die synchron ausgeführt wird.

Regelbeschreibung

In Taghilfsprogrammen erfolgt die Ausführung asynchron. Bei Verwendung in einer Methode oder einem Lambda innerhalb einer Razor Page muss auch die enthaltende Funktion als asynchron deklariert werden.

Betrachten Sie die folgende cshtml-Datei:

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

asp-controller ist das Taghilfsprogramm und löst diese Regel aus.

Behandeln von Verstößen

Deklarieren Sie die Funktion so, dass sie asynchron ausgeführt wird und „Task“ zurückgibt:

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

Wann sollten Warnungen unterdrückt werden?

Unterdrücken Sie keine Warnung dieser Regel.