Razorpages - 自定义 500 错误页面不显示,即使 403 和 404 页面显示

问题描述 投票:0回答:1

我正在尝试在 ASP.NET Razor Pages (.Net 8.0) 中实现以下自定义错误页面:

  • 403 禁止
  • 404 未找到
  • 500 服务器错误

我的错误页面是名为

Error
的目录中的 RazorPages 页面,其中包含
Pages
目录。后面的模型代码只有一个空的构造函数。

Error Pages

应用程序配置如下:

Application configuration

通过下面的补充方法,可以让上下文未完全启动时显示403。如果没有这个,标准 ASPNet 403 页面将显示未经授权的页面请求。

Supplementary method

设置的顺序,我认为是至关重要的,是我从 MSDN 和各种 Stack Overflow 帖子和解决方案中收集到的。

403 和 404 页面重定向并完美显示。无论我从各种 Stack Overflow“已接受”解决方案中尝试过什么,500 页面都不会。我刚刚得到标准的 ASP.Net 500 页面。


编辑1:

  • 我正在使用 ASPNetCore.App 8.0.11
  • 500错误是通过在后面的页面代码中的
    new NotImplementedException()
    动作中抛出
    OnGetAsync()
    来触发的。
  • 我禁用了
    app.Environment.IsDevelopment
    开关,因此它会
    UseExceptionHandler("/Error");
    而不是 DeveloperExceptionPage

任何帮助表示赞赏。

asp.net-core razor razor-pages custom-error-pages custom-error-handling
1个回答
0
投票

根据你的代码,我仍然发现你在UseExceptionHandler方法中使用了之前的错误路径,但是500页面的路径应该是error/500

我建议你可以尝试这个来测试是否会使用新的错误页面:

app.UseExceptionHandler("/Error/500");

结果:

路径:

enter image description here

enter image description here

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.