Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Behavior that was introduced in .NET 6 RC 1 to automatically set IEndpointNameMetadata for endpoints has been reverted. IEndpointNameMetadata is no longer set automatically to avoid issues with duplicate endpoint names.
Version introduced
ASP.NET Core 6 RC 2
Previous behavior
In ASP.NET Core 6 RC 1, IEndpointNameMetadata was automatically set for endpoints that referenced a method group. For example, the following code produced an endpoint for /foo with EndpointName set to GetFoo.
app.MapGet("/foo", GetFoo);
New behavior
Starting in ASP.NET Core 6 RC 2, IEndpointNameMetadata is not automatically set. The following code does not generate any IEndpointNameMetadata.
app.MapGet("/foo", GetFoo);
Type of breaking change
This change can affect source compatibility.
Reason for change
The behavior of automatically setting endpoint name metadata was not robust and resulted in issues where the same name was set for different endpoints. For more information, see dotnet/aspnetcore#36487.
Recommended action
We recommend that you manually set IEndpointNameMetadata using the WithName extension method to set the metadata.
app.MapGet("/foo", GetFoo).WithName("GetFoo");
Affected APIs
N/A