ASP0016: не возвращайте значение из RequestDelegate
Значение | |
---|---|
Идентификатор правила | ASP0016 |
Категория | Использование |
Исправление является критическим или не критическим | Не критическое |
Причина
Метод, используемый для создания возвращаемого RequestDelegate значения Task<T>
. RequestDelegate
dis карта 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
этому значению, чтобы возвращаемое значение записывается в ответ.
Когда лучше отключить предупреждения
Для этого правила отключать вывод предупреждений не следует.
ASP.NET Core