Partilhar via


ASP0016: Não retorne um valor de RequestDelegate

Valor
ID da regra ASP0016
Categoria Utilização
A correção é invasiva ou não invasiva Inquebrável

Motivo

Um método usado para criar um RequestDelegate retorna Task<T>. RequestDelegate descarta esse valor.

Descrição da regra

Não retorne um valor Delegate fornecido às APIs que esperam RequestDelegate. Por exemplo, o seguinte exemplo retorna um Task<string> onde o valor de stringTask será descartado.

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

Como corrigir violações

Para corrigir uma violação desta regra, altere o tipo de retorno para não genérico Task ou, se o delegado for um manipulador de rota, converta-o para Delegate de modo que o valor de retorno seja gravado na resposta.

Quando suprimir avisos

Não ignore um aviso desta regra.