Share via


ASP0016: No devolver un valor de RequestDelegate

Valor
Identificador de la regla ASP0016
Categoría Uso
La corrección es problemática o no problemática Poco problemático

Causa

Un método utilizado para crear un RequestDelegate devuelve Task<T>. RequestDelegate descarta este valor.

Descripción de la regla

No devuelva un valor Delegate proporcionado a las API que esperan RequestDelegate. Por ejemplo, el ejemplo siguiente devuelve un Task<string> donde el valor string de Task se descartará.

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

Cómo corregir infracciones

Para corregir una infracción de esta regla, cambie el tipo de valor devuelto a Task no genérico o, si el delegado es un controlador de rutas, conviértalo en Delegate para que el valor devuelto se escriba en la respuesta.

Cuándo suprimir las advertencias

No suprima las advertencias de esta regla.