EndpointName 메타데이터가 자동으로 설정되지 않음
엔드포인트에 대해 IEndpointNameMetadata
를 자동으로 설정하기 위해 .NET 6 RC 1에서 도입된 동작을 되돌렸습니다. IEndpointNameMetadata
는 중복 엔드포인트 이름의 문제를 방지하기 위해 더 이상 자동으로 설정되지 않습니다.
도입된 버전
ASP.NET Core 6 RC 2
이전 동작
ASP.NET Core 6 RC 1에서 IEndpointNameMetadata
는 메서드 그룹을 참조한 엔드포인트에 대해 자동으로 설정되었습니다. 예를 들어, 다음 코드는 EndpointName
가 GetFoo
로 설정된 /foo
의 엔드포인트를 생성했습니다.
app.MapGet("/foo", GetFoo);
새 동작
ASP.NET Core 6 RC 2부터 IEndpointNameMetadata
는 자동으로 설정되지 않습니다. 다음 코드는 IEndpointNameMetadata
를 생성하지 않습니다.
app.MapGet("/foo", GetFoo);
호환성이 손상되는 변경의 형식
이 변경은 소스 호환성에 영향을 줄 수 있습니다.
변경 이유
엔드포인트 이름 메타데이터를 자동으로 설정하는 동작은 강력하지 않으며 서로 다른 엔드포인트에 대해 동일한 이름이 설정된 문제를 초래했습니다. 자세한 내용은 dotnet/aspnetcore#36487을 참조하세요.
권장 작업
메타데이터를 설정하려면 WithName
확장 메서드를 사용하여 IEndpointNameMetadata
를 수동으로 설정하는 것이 좋습니다.
app.MapGet("/foo", GetFoo).WithName("GetFoo");
영향을 받는 API
N/A
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET