Freigeben über


ASP0016: Keine Rückgabe eines Werts von RequestDelegate

Wert
Regel-ID ASP0016
Kategorie Verwendung
Fix führt oder führt nicht zur Unterbrechung Nicht unterbrechend

Ursache

Eine Methode, die zum Erstellen eines RequestDelegate verwendet wird, gibt Task<T> zurück. RequestDelegate verwirft diesen Wert.

Regelbeschreibung

Geben Sie keinen Wert von Delegate an APIs zurück, die RequestDelegate erwarten. Im folgenden Beispiel wird ein Task<string> zurückgegeben, bei dem der string Wert von Task verworfen wird.

var app = WebApplication.Create();
app.Use(next =>
{
    return new RequestDelegate((HttpContext context) =>
    {
        return Task.FromResult(""hello world"");
    });
});

Behandeln von Verstößen

Um einen Verstoß gegen diese Regel zu beheben, ändern Sie den Rückgabetyp in nicht generischen Task . Wenn der Delegat ein Routenhandler ist, wandeln Sie ihn in Delegate um, sodass der Rückgabewert in die Antwort geschrieben wird.

Wann sollten Warnungen unterdrückt werden?

Unterdrücken Sie keine Warnung dieser Regel.