Freigeben über


Middleware: Datenbankfehlerseite als veraltet markiert

Die DatabaseErrorPageMiddleware und die zugehörigen Erweiterungsmethoden wurden in ASP.NET Core 5.0 als veraltet markiert. Die Middleware- und Erweiterungsmethoden werden in ASP.NET Core 6.0 entfernt. Die Funktionalität wird stattdessen von DatabaseDeveloperPageExceptionFilter und ihren Erweiterungsmethoden bereitgestellt.

Eine Diskussion finden Sie im GitHub-Issue unter dotnet/aspnetcore#24987.

Eingeführte Version

5.0 RC 1

Altes Verhalten

DatabaseErrorPageMiddleware und die zugehörigen Erweiterungsmethoden waren nicht veraltet.

Neues Verhalten

DatabaseErrorPageMiddleware und die zugehörigen Erweiterungsmethoden sind veraltet.

Grund für Änderung

DatabaseErrorPageMiddleware wurde zu einer erweiterbaren API für die Entwicklerausnahmeseite migriert. Weitere Informationen zur erweiterbaren API finden Sie unter GitHub issue dotnet/aspnetcore#8536.

Führen Sie die folgenden Schritte aus:

  1. Beenden Sie die Verwendung DatabaseErrorPageMiddleware in Ihrem Projekt. Entfernen Sie z. B. den UseDatabaseErrorPage Methodenaufruf von Startup.Configure:

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDatabaseErrorPage();
        }
    }
    
  2. Fügen Sie dem Projekt die Entwickler-Ausnahmeseite hinzu. Rufen Sie z. B. die UseDeveloperExceptionPage Methode in Startup.Configure:

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
    }
    
  3. Fügen Sie das Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore NuGet-Paket der Projektdatei hinzu.

  4. Fügen Sie der Dienstauflistung den Ausnahmefilter der Datenbankentwicklerseite hinzu. Rufen Sie z. B. die AddDatabaseDeveloperPageExceptionFilter Methode in Startup.ConfigureServices:

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

Betroffene APIs