Condividi tramite


Metadati EndpointName non impostati automaticamente

Il comportamento introdotto in .NET 6 RC 1 per l'impostazione automatica IEndpointNameMetadata degli endpoint è stato ripristinato. IEndpointNameMetadata non è più impostato automaticamente per evitare problemi con i nomi di endpoint duplicati.

Versione introdotta

ASP.NET Core 6 RC 2

Comportamento precedente

In ASP.NET Core 6 RC 1 IEndpointNameMetadata era impostato automaticamente per gli endpoint che facevano riferimento a un gruppo di metodi. Ad esempio, il codice seguente produceva un endpoint per /foo con EndpointName impostato su GetFoo.

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

Nuovo comportamento

A partire da ASP.NET Core 6 RC 2, IEndpointNameMetadata non viene impostato automaticamente. Il codice seguente non genera alcun IEndpointNameMetadata.

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

Tipo di modifica che causa un'interruzione

Questa modifica può influire sulla compatibilità dell'origine.

Motivo della modifica

Il comportamento dell'impostazione automatica dei metadati nel nome dell'endpoint non era affidabile e ha generato problemi per il fatto che lo stesso nome era impostato per endpoint diversi. Per altre informazioni, vedere dotnet/aspnetcore#36487.

Ti consigliamo di impostare IEndpointNameMetadata manualmente usando il metodo di estensione WithName per impostare i metadati.

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

API interessate

N/D