Oprogramowanie pośredniczące: strona błędu bazy danych oznaczona jako przestarzała
Element DatabaseErrorPageMiddleware i skojarzone z nią metody rozszerzenia zostały oznaczone jako przestarzałe w ASP.NET Core 5.0. Metody oprogramowania pośredniczącego i rozszerzenia zostaną usunięte w ASP.NET Core 6.0. Zamiast tego funkcje będą udostępniane przez DatabaseDeveloperPageExceptionFilter
metody rozszerzeń i jej rozszerzenia.
Aby zapoznać się z dyskusją, zobacz problem z usługą GitHub pod adresem dotnet/aspnetcore#24987.
Wprowadzona wersja
5.0 RC 1
Stare zachowanie
DatabaseErrorPageMiddleware
i skojarzone z nią metody rozszerzenia nie były przestarzałe.
Nowe zachowanie
DatabaseErrorPageMiddleware
i skojarzone z nią metody rozszerzenia są przestarzałe.
Przyczyna wprowadzenia zmiany
DatabaseErrorPageMiddleware
został zmigrowany do rozszerzalnego interfejsu API dla strony wyjątku dewelopera. Aby uzyskać więcej informacji na temat rozszerzalnego interfejsu API, zobacz problem z usługą GitHub dotnet/aspnetcore#8536.
Zalecana akcja
Zakończ poniższe kroki:
Przestań używać
DatabaseErrorPageMiddleware
w projekcie. Na przykład usuń wywołanieUseDatabaseErrorPage
metody z klasyStartup.Configure
:public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDatabaseErrorPage(); } }
Dodaj stronę wyjątku dla deweloperów do projektu. Na przykład wywołaj metodę UseDeveloperExceptionPage w pliku
Startup.Configure
:public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } }
Dodaj pakiet NuGet Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore do pliku projektu.
Dodaj filtr wyjątku strony dewelopera bazy danych do kolekcji usług. Na przykład wywołaj metodę
AddDatabaseDeveloperPageExceptionFilter
w plikuStartup.ConfigureServices
:public void ConfigureServices(IServiceCollection services) { services.AddDatabaseDeveloperPageExceptionFilter(); }