Back to Aspnetcore

ASP0016: Do not return a value from RequestDelegate

aspnetcore/diagnostics/asp0016.md

latest1.1 KB
Original Source

ASP0016: Do not return a value from RequestDelegate

Value
Rule IDASP0016
CategoryUsage
Fix is breaking or non-breakingNon-breaking

Cause

A method used to create a xref:Microsoft.AspNetCore.Http.RequestDelegate returns Task<T>. RequestDelegate discards this value.

Rule description

Do not return a value Delegates provided to APIs that expect RequestDelegate. For example, the following sample returns a Task<string> where the string value of the Task will be discarded.

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

How to fix violations

To fix a violation of this rule, change the return type to non-generic Task or, if the delegate is a route handler, cast it to Delegate so the return value is written to the response.

When to suppress warnings

Do not suppress a warning from this rule.