Os metadados EndpointName não são definidos automaticamente
O comportamento introduzido no .NET 6 RC 1 para definir IEndpointNameMetadata
automaticamente para pontos de extremidade foi revertido. IEndpointNameMetadata
não é mais definido automaticamente para evitar problemas com nomes de pontos de extremidade duplicados.
Versão introduzida
ASP.NET Core 6 RC 2
Comportamento anterior
No ASP.NET Core 6 RC 1, IEndpointNameMetadata
foi definido automaticamente para pontos de extremidade que referenciavam um grupo de métodos. Por exemplo, o código a seguir produziu um ponto de extremidade para /foo
com EndpointName
definido como GetFoo
.
app.MapGet("/foo", GetFoo);
Novo comportamento
A partir do ASP.NET Core 6 RC 2, IEndpointNameMetadata
não é definido automaticamente. O código a seguir não gera nenhum IEndpointNameMetadata
.
app.MapGet("/foo", GetFoo);
Tipo de alteração interruptiva
Essa alteração pode afetar a compatibilidade da origem.
Motivo da alteração
O comportamento de definir automaticamente os metadados do nome do ponto de extremidade não era robusto e resultava em problemas em que o mesmo nome era definido para diferentes pontos de extremidade. Para obter mais informações, consulte dotnet/aspnetcore#36487.
Ação recomendada
É recomendável definir IEndpointNameMetadata
manualmente usando o método de extensão WithName
para definir os metadados.
app.MapGet("/foo", GetFoo).WithName("GetFoo");
APIs afetadas
N/D