ASP0016: RequestDelegate에서 값을 반환하지 마세요
값 | |
---|---|
규칙 ID | ASP0016 |
범주 | 사용 |
수정 사항이 주요 변경인지 여부 | 주요 변경 아님 |
원인
RequestDelegate를 만드는 데 사용되는 메서드는 Task<T>
를 반환합니다. RequestDelegate
는 이 값을 무시합니다.
규칙 설명
RequestDelegate
가 필요한 API에 제공된 Delegate
값을 반환하지 마세요. 예를 들어, 다음 샘플에서는 삭제되는 Task
의 string
값이 Task<string>
을 반환합니다.
var app = WebApplication.Create();
app.Use(next =>
{
return new RequestDelegate((HttpContext context) =>
{
return Task.FromResult(""hello world"");
});
});
위반 문제를 해결하는 방법
이 규칙 위반 문제를 해결하려면, 반환 형식을 제네릭 Task
이 아닌 형식으로 변경하거나, 대리자가 경로 처리기인 경우 반환 값이 응답에 기록되도록 Delegate
로 캐스팅합니다.
경고를 표시하지 않는 경우
이 규칙에서는 경고를 표시해야 합니다.
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
ASP.NET Core