Partager via


ASP0016 : ne pas retourner de valeur à partir de RequestDelegate

Value
Identificateur de la règle ASP0016
Catégorie Utilisation
Le correctif est cassant ou non cassant Sans rupture

Cause

Une méthode utilisée pour créer un RequestDelegate retourne Task<T>. RequestDelegate ignore cette valeur.

Description de la règle

Ne retournez pas une valeur Delegate fournie aux API qui attendent RequestDelegate. Par exemple, l’exemple suivant retourne une Task<string> où la valeur string de Task sera ignorée.

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

Comment corriger les violations

Pour corriger une violation de cette règle, remplacez le type de retour par un non générique Task ou, si le délégué est un gestionnaire de routes, castez-le par Delegate afin que la valeur de retour soit écrite dans la réponse.

Quand supprimer les avertissements

Ne supprimez pas un avertissement de cette règle.