Middleware: Página de erro do banco de dados marcada como obsoleta

O DatabaseErrorPageMiddleware e os seus métodos de extensão associados foram marcados como obsoletos no ASP.NET Core 5.0. O middleware e os métodos de extensão serão removidos no ASP.NET Core 6.0. A funcionalidade será fornecida por DatabaseDeveloperPageExceptionFilter e os seus métodos de extensão.

Para discussão, veja a edição do GitHub em dotnet/aspnetcore#24987.

Versão introduzida

5.0 RC 1

Comportamento antigo

DatabaseErrorPageMiddleware e os métodos de extensão associados não estavam obsoletos.

Novo comportamento

DatabaseErrorPageMiddleware e os métodos de extensão associados estão obsoletos.

Motivo da mudança

DatabaseErrorPageMiddleware foi migrado para uma API extensível para a página de exceção do programador. Para mais informações sobre a API extensível, consulte o issue do GitHub dotnet/aspnetcore#8536.

Conclua as seguintes etapas:

  1. Deixa de usar DatabaseErrorPageMiddleware no teu projeto. Por exemplo, remova a UseDatabaseErrorPage chamada de método de Startup.Configure:

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDatabaseErrorPage();
        }
    }
    
  2. Adiciona a página de exceção do programador ao teu projeto. Por exemplo, chame o UseDeveloperExceptionPage método em Startup.Configure:

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
    }
    
  3. Adicione o pacote NuGet Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore ao ficheiro do projeto.

  4. Adicione o filtro de exceções da página do programador de base de dados à coleção de serviços. Por exemplo, chame o AddDatabaseDeveloperPageExceptionFilter método em Startup.ConfigureServices:

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

APIs afetadas