Condividi tramite


Middleware: pagina di errore del database contrassegnata come obsoleta

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

Per la discussione, vedere il problema 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 relativi metodi di estensione associati sono obsoleti.

Motivo della modifica

DatabaseErrorPageMiddleware è stata eseguita la migrazione a un'API estendibile per la pagina delle eccezioni dello sviluppatore. Per altre informazioni sull'API estendibile, vedere Problema di GitHub dotnet/aspnetcore#8536.

Completare i passaggi seguenti:

  1. Smetti di usare DatabaseErrorPageMiddleware nel tuo progetto. Ad esempio, rimuovere la chiamata del metodo UseDatabaseErrorPage da Startup.Configure.

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDatabaseErrorPage();
        }
    }
    
  2. Aggiungere la pagina delle eccezioni per sviluppatori al progetto. Ad esempio, chiamare il UseDeveloperExceptionPage metodo in Startup.Configure:

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

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

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

Le API interessate