ASP.NET Razor Pages(.NET 8)自定义500错误页无法显示排查
ASP.NET Razor Pages (.NET 8) 自定义500错误页不显示的排查与解决
问题场景
在.NET 8.0的ASP.NET Razor Pages项目中,我配置了自定义错误页:403 Forbidden、404 Not Found、500 Server Error,所有错误页都放在Pages/Error目录下,页面模型仅包含空构造函数。按照MSDN和Stack Overflow的推荐配置顺序设置后,403和404错误页能正常跳转显示,但500错误页始终显示ASP.NET默认页面。
排查步骤
- 环境版本:使用ASPNetCore.App 8.0.11
- 错误触发:在页面后台的
OnGetAsync()方法中抛出new NotImplementedException()来模拟500错误 - 初始配置:已禁用
app.Environment.IsDevelopment分支的逻辑,使用app.UseExceptionHandler("/Error")替代开发者异常页,但问题未解决 - 尝试调整:将
UseExceptionHandler的路径改为"/Error/500",依旧无法加载自定义500页
最终解决方法
检查项目配置文件时,发现WebApplicationConfiguration.cs文件底部残留了一行app.UseDeveloperExceptionPage();代码,移除该行后,将UseExceptionHandler路径设置为"/Error/500"的配置生效,自定义500错误页可以正常显示了。
内容的提问来源于stack exchange,提问作者Dib
相关产品推荐
相关产品推荐

