ASP0016: não retornar um valor de RequestDelegate

Valor
ID da regra ASP0016
Categoria Uso
Correção interruptiva ou sem interrupção Sem interrupção

Causa

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

Descrição da regra

Não retorne um valor Delegates fornecido às APIs que esperam RequestDelegate. Por exemplo, o exemplo a seguir retorna um Task<string> em que o valor string do Task 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 dessa regra, altere o tipo de retorno para Task não genérico ou, se o delegado for um manipulador de rota, converta-o para Delegate de forma que o valor retornado seja gravado na resposta.

Quando suprimir avisos

Não suprima um aviso nessa regra.