ASP0016: RequestDelegate에서 값을 반환하지 마세요

규칙 ID ASP0016
범주 사용
수정 사항이 주요 변경인지 여부 주요 변경 아님

원인

RequestDelegate를 만드는 데 사용되는 메서드는 Task<T>를 반환합니다. RequestDelegate는 이 값을 무시합니다.

규칙 설명

RequestDelegate가 필요한 API에 제공된 Delegate 값을 반환하지 마세요. 예를 들어, 다음 샘플에서는 삭제되는 Taskstring값이 Task<string>을 반환합니다.

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

위반 문제를 해결하는 방법

이 규칙 위반 문제를 해결하려면, 반환 형식을 제네릭 Task이 아닌 형식으로 변경하거나, 대리자가 경로 처리기인 경우 반환 값이 응답에 기록되도록 Delegate로 캐스팅합니다.

경고를 표시하지 않는 경우

이 규칙에서는 경고를 표시해야 합니다.