ASP0016: non restituire un valore da RequestDelegate

Valore
ID regola ASP0016
Categoria Utilizzo
Correzione che causa un'interruzione o un'interruzione Nessuna interruzione

Causa

Metodo utilizzato per creare un RequestDelegate oggetto restituisce Task<T>. RequestDelegate rimuove questo valore.

Descrizione regola

Non restituire un valore Delegatefornito alle API che prevedono RequestDelegate. Ad esempio, l'esempio seguente restituisce un oggetto in Task<string> cui il string valore di Task verrà rimosso.

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

Come correggere le violazioni

Per correggere una violazione di questa regola, modificare il tipo restituito in non generico Task o, se il delegato è un gestore di route, eseguirne il cast in Delegate modo che il valore restituito venga scritto nella risposta.

Quando eliminare gli avvisi

Non escludere un avviso da questa regola.