EndpointName-Metadaten werden nicht automatisch festgelegt
Das in .NET 6 RC 1 eingeführte Verhalten zum automatischen Festlegen von IEndpointNameMetadata
für Endpunkte wurde zurückgesetzt. IEndpointNameMetadata
wird nicht mehr automatisch festgelegt, um Probleme mit doppelten Endpunktnamen zu vermeiden.
Eingeführt in Version
ASP.NET Core 6 RC 2
Vorheriges Verhalten
In ASP.NET Core 6 RC 1 wurde IEndpointNameMetadata
automatisch für Endpunkte festgelegt, die auf eine Methodengruppe verwiesen haben. Beispielsweise wurde durch den folgenden Code ein Endpunkt für /foo
erstellt, bei dem EndpointName
auf GetFoo
festgelegt ist.
app.MapGet("/foo", GetFoo);
Neues Verhalten
Ab ASP.NET Core 6 RC 2 wird IEndpointNameMetadata
nicht mehr automatisch festgelegt. Durch den folgenden Code wird kein IEndpointNameMetadata
-Element generiert.
app.MapGet("/foo", GetFoo);
Typ des Breaking Changes
Diese Änderung kann sich auf die Quellkompatibilität auswirken.
Grund für die Änderung
Das Verhalten zum automatischen Festlegen von Metadaten für Endpunktnamen war nicht stabil und führte zu Problemen, bei denen derselbe Name für verschiedene Endpunkte festgelegt wurde. Weitere Informationen finden Sie unter dotnet/aspnetcore#36487.
Empfohlene Maßnahme
Es wird empfohlen, IEndpointNameMetadata
mithilfe der WithName
-Erweiterungsmethode manuell festzulegen.
app.MapGet("/foo", GetFoo).WithName("GetFoo");
Betroffene APIs
–