Freigeben über


ASP0016: Geben Sie keinen Wert aus RequestDelegate zurück.

Wert
Regel-ID ASP0016
Kategorie Usage
Korrektur ist blockierend oder nicht-blockierend Non-breaking

Ursache

Eine Methode, die verwendet wird, um eine RequestDelegate-Rückgabe von Task<T> zu erstellen. RequestDelegate verwirft diesen Wert.

Regelbeschreibung

Geben Sie keinen Wert Delegatezurück, der für APIs bereitgestellt wird, die RequestDelegateerwarten. Ein Beispiel gibt einen Task<string> zurück, 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"");
    });
});

Wie man Verstöße behebt

Um einen Verstoß gegen diese Regel zu beheben, ändern Sie den Rückgabetyp in nicht generisch Task oder, wenn der Delegat ein Routen-Handler ist, casten Sie ihn zu Delegate, damit der Rückgabewert in die Antwort geschrieben wird.

Wann sollten Warnungen unterdrückt werden?

Unterdrücken Sie keine Warnung dieser Regel.