다음을 통해 공유


EndpointName 메타데이터가 자동으로 설정되지 않음

엔드포인트에 대해 IEndpointNameMetadata를 자동으로 설정하기 위해 .NET 6 RC 1에서 도입된 동작을 되돌렸습니다. IEndpointNameMetadata는 중복 엔드포인트 이름의 문제를 방지하기 위해 더 이상 자동으로 설정되지 않습니다.

도입된 버전

ASP.NET Core 6 RC 2

이전 동작

ASP.NET Core 6 RC 1에서 IEndpointNameMetadata는 메서드 그룹을 참조한 엔드포인트에 대해 자동으로 설정되었습니다. 예를 들어, 다음 코드는 EndpointNameGetFoo로 설정된 /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