ASP0016: Returnera inte ett värde från RequestDelegate

Värde
Regel-ID ASP0016
Kategori Usage
Korrigeringen är antingen brytande eller icke-brytande Non-breaking

Orsak

En metod som används för att skapa en RequestDelegate returnerar Task<T>. RequestDelegate tar bort det här värdet.

Regelbeskrivning

Returnera inte ett värde Delegatesom anges till API:er som förväntar sig RequestDelegate. Följande exempel returnerar till exempel en Task<string> där string värdet för Task ignoreras.

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

Så här åtgärdar du överträdelser

Om du vill åtgärda en överträdelse av den här regeln ändrar du returtypen till icke-generisk Task eller, om delegaten är en väghanterare, omvandlar du den till Delegate så att returvärdet skrivs till svaret.

När du ska ignorera varningar

Ignorera inte en varning från den här regeln.