中间件:数据库错误页标记为已过时

在 ASP.NET Core 5.0 中,将 DatabaseErrorPageMiddleware 及其关联的扩展方法标记为已过时。 将删除 ASP.NET Core 6.0 中的中间件和扩展方法。 该功能将改为由 DatabaseDeveloperPageExceptionFilter 及其扩展方法提供。

有关讨论,请参阅 dotnet/aspnetcore#24987 上的 GitHub 问题。

引入的版本

5.0 RC 1

旧行为

DatabaseErrorPageMiddleware 及其关联的扩展方法未过时。

新行为

DatabaseErrorPageMiddleware 及其关联的扩展方法已过时。

更改原因

DatabaseErrorPageMiddleware 已迁移到开发人员异常页面的可扩展 API。 有关可扩展 API 的详细信息,请参阅 GitHub 问题 dotnet/aspnetcore # 8536

完成以下步骤:

  1. 停止在项目中使用 DatabaseErrorPageMiddleware。 例如,从 Startup.Configure 中删除 UseDatabaseErrorPage 方法调用:

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDatabaseErrorPage();
        }
    }
    
  2. 将开发人员异常页面添加到你的项目。 例如,在 Startup.Configure 中调用 UseDeveloperExceptionPage 方法:

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
    }
    
  3. 向项目文件添加 Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore NuGet 包。

  4. 将数据库开发人员异常页面筛选器添加到服务集合。 例如,在 Startup.ConfigureServices 中调用 AddDatabaseDeveloperPageExceptionFilter 方法:

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

受影响的 API