ASP0016: не возвращайте значение из RequestDelegate

Значение
Идентификатор правила ASP0016
Категория Использование
Исправление является критическим или не критическим Не критическое

Причина

Метод, используемый для создания возвращаемого RequestDelegate значения Task<T>. RequestDelegatedis карта s this value.

Описание правила

Не возвращайте значения Delegate, предоставленные API, которые ожидают RequestDelegate. Например, в следующем примере возвращается Task<string> значение, в котором string значение Task не будет карта.

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

Устранение нарушений

Чтобы устранить нарушение этого правила, измените тип возвращаемого типа на не универсальный Task или, если делегат является обработчиком маршрутов, приведите его к Delegate этому значению, чтобы возвращаемое значение записывается в ответ.

Когда лучше отключить предупреждения

Для этого правила отключать вывод предупреждений не следует.