Les métadonnées EndpointName ne sont pas définies automatiquement
Le comportement introduit dans .NET 6 RC 1 pour définir IEndpointNameMetadata
automatiquement pour les points de terminaison a été rétabli. IEndpointNameMetadata
n’est plus défini automatiquement pour éviter les problèmes liés aux noms de points de terminaison en double.
Version introduite
ASP.NET Core 6 RC 2
Comportement précédent
Dans ASP.NET Core 6 RC 1, IEndpointNameMetadata
a été automatiquement défini pour les points de terminaison qui référencent un groupe de méthodes. Par exemple, le code suivant a produit un point de terminaison pour /foo
avec EndpointName
défini sur GetFoo
.
app.MapGet("/foo", GetFoo);
Nouveau comportement
À compter de ASP.NET Core 6 RC 2, IEndpointNameMetadata
n’est pas défini automatiquement. Le code suivant ne génère pas IEndpointNameMetadata
.
app.MapGet("/foo", GetFoo);
Type de changement cassant
Ce changement peut affecter la compatibilité source.
Raison du changement
Le comportement de la définition automatique des métadonnées de nom de point de terminaison n’était pas robuste et a entraîné des problèmes où le même nom a été défini pour différents points de terminaison. Pour plus d’informations, consultez dotnet/aspnetcore#36487.
Action recommandée
Nous vous recommandons de définir IEndpointNameMetadata
manuellement à l’aide de la méthode d’extension WithName
pour définir les métadonnées.
app.MapGet("/foo", GetFoo).WithName("GetFoo");
API affectées
N/A