Share via


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

O DatabaseErrorPageMiddleware e os métodos de extensão associados a ele 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. Em vez disso, a funcionalidade será fornecida por DatabaseDeveloperPageExceptionFilter os métodos de extensão dele.

Para discussão, confira o problema do GitHub em dotnet/aspnetcore#24987.

Versão introduzida

5.0 RC 1

Comportamento antigo

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

Novo comportamento

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

Motivo da alteração

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

Concluir as seguintes etapas:

  1. Pare de usar DatabaseErrorPageMiddleware em seu projeto. Por exemplo, remova a chamada de método UseDatabaseErrorPage de Startup.Configure:

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDatabaseErrorPage();
        }
    }
    
  2. Adicione a página de exceção do desenvolvedor ao seu projeto. Por exemplo, chame o método UseDeveloperExceptionPage 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 arquivo de projeto.

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

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

APIs afetadas