Metadatos de EndpointName no establecidos automáticamente

Se ha revertido el comportamiento que se introdujo en .NET 6 RC 1 para establecer automáticamente IEndpointNameMetadata para los puntos de conexión. IEndpointNameMetadata ya no se establece automáticamente para evitar problemas con nombres de puntos de conexión duplicados.

Versión introducida

ASP.NET Core 6 RC 2

Comportamiento anterior

En ASP.NET Core 6 RC 1, IEndpointNameMetadata se estableció automáticamente para los puntos de conexión que hacían referencia a un grupo de métodos. Por ejemplo, el código siguiente producía un punto de conexión para /foo con EndpointName establecido en GetFoo.

app.MapGet("/foo", GetFoo);

Comportamiento nuevo

A partir ASP.NET Core 6 RC 2, IEndpointNameMetadata no se establece automáticamente. El código siguiente no genera ningún IEndpointNameMetadata.

app.MapGet("/foo", GetFoo);

Tipo de cambio importante

Este cambio puede afectar a la compatibilidad de orígenes.

Motivo del cambio

El comportamiento de establecer automáticamente los metadatos de nombres de puntos de conexión no era sólido y daba lugar a problemas en los que se establecía el mismo nombre para distintos puntos de conexión. Para más información, consulte dotnet/aspnetcore#36487.

Se recomienda establecer manualmente IEndpointNameMetadata mediante el método de extensión WithName para configurar los metadatos.

app.MapGet("/foo", GetFoo).WithName("GetFoo");

API afectadas

N/D