Middleware: pagina di errore del database contrassegnata come obsoleta

DatabaseErrorPageMiddleware e i metodi di estensione associati sono stati contrassegnati come obsoleti in ASP.NET Core 5.0. I metodi di estensione e il middleware verranno rimossi in ASP.NET Core 6.0. La funzionalità verrà invece fornita da DatabaseDeveloperPageExceptionFilter e dai relativi metodi di estensione.

Per consultare la discussione, vedi il problema di GitHub in dotnet/aspnetcore#24987.

Versione introdotta

5.0 RC 1

Comportamento precedente

DatabaseErrorPageMiddleware e i metodi di estensione associati non erano obsoleti.

Nuovo comportamento

DatabaseErrorPageMiddleware e i metodi di estensione associati sono obsoleti.

Motivo della modifica

È stata eseguita la migrazione di DatabaseErrorPageMiddleware in un'API estendibile per la pagina delle eccezioni dello sviluppatore. Per altre informazioni sull'API estendibile, vedi il problema di GitHub dotnet/aspnetcore#8536.

Effettuare i passaggi seguenti:

  1. Interrompi l'uso di DatabaseErrorPageMiddleware nel tuo progetto. Ad esempio, rimuovi la chiamata al metodo UseDatabaseErrorPage da Startup.Configure:

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDatabaseErrorPage();
        }
    }
    
  2. Aggiungi la pagina delle eccezioni dello sviluppatore al tuo progetto. Ad esempio, chiama il metodo UseDeveloperExceptionPage in Startup.Configure:

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
    }
    
  3. Aggiungi il pacchetto NuGet Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore al file di progetto.

  4. Aggiungi il filtro eccezioni della pagina di sviluppo del database alla raccolta di servizi. Ad esempio, chiama il metodo AddDatabaseDeveloperPageExceptionFilter in Startup.ConfigureServices:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDatabaseDeveloperPageExceptionFilter();
    }
    

API interessate