ПО промежуточного слоя: страница ошибок базы данных, помеченная как устаревшая
DatabaseErrorPageMiddleware и связанные с ним методы расширения были помечены как устаревшие в ASP.NET Core 5.0. ПО промежуточного слоя и методы расширения будут удалены в ASP.NET Core 6.0. Эти функции вместо этого будут предоставляться DatabaseDeveloperPageExceptionFilter
и методами расширения.
Обсуждение этого вопроса см. на странице GitHub dotnet/aspnetcore#24987.
Представленные версии
5.0 RC 1
Старое поведение
DatabaseErrorPageMiddleware
и связанные с ним методы расширения не устарели.
Новое поведение
DatabaseErrorPageMiddleware
и связанные с ним методы расширения устарели.
Причина изменения
DatabaseErrorPageMiddleware
был перенесен в расширяемый API для страницы со сведениями об исключении для разработчика. Дополнительные сведения об расширяемых API см. на странице GitHub dotnet/aspnetcore#8536.
Рекомендуемое действие
Выполните следующие действия:
Не используйте
DatabaseErrorPageMiddleware
в проектах. Например, удалите вызов методаUseDatabaseErrorPage
изStartup.Configure
.public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDatabaseErrorPage(); } }
Добавьте в проект страницу со сведениями об исключении для разработчика. Например, вызовите метод UseDeveloperExceptionPage в
Startup.Configure
.public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } }
Добавьте пакет NuGet Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore в файл проекта.
Добавьте фильтр исключений страницы со сведениями об исключении для разработчика базы данных в коллекцию служб. Например, вызовите метод
AddDatabaseDeveloperPageExceptionFilter
вStartup.ConfigureServices
.public void ConfigureServices(IServiceCollection services) { services.AddDatabaseDeveloperPageExceptionFilter(); }