다음을 통해 공유


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

가치
규칙 아이디 ASP0016
범주 Usage
수정 사항이 문제를 해결하고 있는지 혹은 새로운 문제를 일으키지 않는지 여부 Non-breaking

원인

RequestDelegate을 생성하는 데 사용되는 메서드는 Task<T>을 반환합니다. RequestDelegate 는 이 값을 삭제합니다.

규칙 설명

Delegate을(를) 예상하는 API에 RequestDelegate으로 값을 반환하지 마세요. 예를 들어, 다음 샘플은 Taskstring 값이 삭제되는 Task<string>를 반환합니다.

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

위반을 해결하는 방법

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

경고를 표시하지 않는 경우

이 규칙의 경고를 무시하지 마세요.