共用方式為


EndpointName 中繼資料未自動設定

在 .NET 6 RC 1 中引進以自動為端點設定 IEndpointNameMetadata 的行為已還原。 IEndpointNameMetadata 將不再自動設定,以避免發生重複端點名稱的問題。

導入的版本

ASP.NET Core 6 RC 2

先前的行為

在 ASP.NET Core 6 RC 1 中,已針對參考方法群組的端點自動設定 IEndpointNameMetadata。 例如,下列程式碼會透過將 EndpointName 設定為 GetFoo,來產生 /foo 的端點。

app.MapGet("/foo", GetFoo);

新的行為

從 ASP.NET Core 6 RC 2 開始,不會自動設定 IEndpointNameMetadata。 下列程式碼不會產生任何 IEndpointNameMetadata

app.MapGet("/foo", GetFoo);

中斷性變更的類型

此變更可能會影響來源相容性

變更原因

自動設定端點名稱中繼資料的行為並不穩固,而且會導致對不同端點設定相同名稱的問題。 如需詳細資訊,請參閱 dotnet/aspnetcore#36487

若要設定中繼資料,建議您使用 WithName 擴充方法來手動設定 IEndpointNameMetadata

app.MapGet("/foo", GetFoo).WithName("GetFoo");

受影響的 API

N/A