Condividi tramite


ASP0016: Non restituire un valore da RequestDelegate

Valore
ID della regola ASP0016
Categoria Uso
La modifica è dirompente o non dirompente Nessuna interruzione

Causa

Un metodo utilizzato per creare un RequestDelegate restituisce Task<T>. RequestDelegate scarta questo valore.

Descrizione della regola

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

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, cambiare il tipo di ritorno in non generico Task oppure, se il delegato è un gestore di route, effettuare il cast a Delegate in modo che il valore restituito venga scritto nella risposta.

Quando eliminare gli avvisi

Non eliminare un avviso da questa regola.