Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verhalten, das in .NET 6 RC 1 eingeführt wurde, um IEndpointNameMetadata
automatisch für Endpunkte festzulegen, wurde rückgängig gemacht.
IEndpointNameMetadata
wird nicht mehr automatisch festgelegt, um Probleme mit doppelten Endpunktnamen zu vermeiden.
Eingeführte 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. Der folgende Code hat z. B. einen Endpunkt für /foo
erstellt, wobei EndpointName
auf GetFoo
gesetzt wurde.
app.MapGet("/foo", GetFoo);
Neues Verhalten
Ab ASP.NET Core 6 RC 2 IEndpointNameMetadata
wird nicht automatisch festgelegt. Der folgende Code generiert keine IEndpointNameMetadata
.
app.MapGet("/foo", GetFoo);
Art der einschneidenden Änderung
Diese Änderung kann sich auf die Quellkompatibilität auswirken.
Grund für Änderung
Das Verhalten der automatischen Einstellung von Endpunktnamenmetadaten war nicht robust und führte zu Problemen, bei denen derselbe Name für verschiedene Endpunkte festgelegt wurde. Weitere Informationen finden Sie unter dotnet/aspnetcore#36487.
Empfohlene Aktion
Wir empfehlen, dass Sie IEndpointNameMetadata
manuell mithilfe der WithName
-Erweiterungsmethode festlegen, um die Metadaten festzulegen.
app.MapGet("/foo", GetFoo).WithName("GetFoo");
Betroffene APIs
Nicht verfügbar