Metadata endpointName se nenastaví automaticky
Chování, které bylo zavedeno v .NET 6 RC 1 pro automatické nastavení IEndpointNameMetadata
koncových bodů, bylo vráceno. IEndpointNameMetadata
už se nenastavuje automaticky, aby nedocházelo k problémům s duplicitními názvy koncových bodů.
Zavedená verze
ASP.NET Core 6 RC 2
Předchozí chování
V ASP.NET Core 6 RC 1 se pro koncové body, na které odkazuje skupina metod, IEndpointNameMetadata
automaticky nastavila. Například následující kód vytvořil koncový bod pro /foo
s nastaveným GetFoo
parametrem EndpointName
.
app.MapGet("/foo", GetFoo);
Nové chování
Počínaje ASP.NET Core 6 RC 2 IEndpointNameMetadata
se nenastaví automaticky. Následující kód negeneruje žádné IEndpointNameMetadata
.
app.MapGet("/foo", GetFoo);
Typ zásadní změny
Tato změna může mít vliv na kompatibilitu zdroje.
Důvod změny
Chování automatického nastavení metadat názvu koncového bodu nebylo robustní a vedlo k problémům, kdy byl pro různé koncové body nastavený stejný název. Další informace najdete v tématu dotnet/aspnetcore#36487.
Doporučená akce
K nastavení metadat doporučujeme ručně nastavit IEndpointNameMetadata
metodu WithName
rozšíření.
app.MapGet("/foo", GetFoo).WithName("GetFoo");
Ovlivněná rozhraní API
–
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro