如何解决在 ASP.NET Core 中显示 HTML 错误页面
当我在我的 HTML
项目中捕捉到某个异常时,我想显示一个 ASP.NET Core
错误页面。该页面存储在项目的根目录中,我无法找到显示该页面所需的内容。在这种情况下,应用程序已经在运行,我希望通过将 URL 重定向到内部包含的 .html
页面来处理异常。
这方面的最佳做法是什么?
解决方法
错误处理内置于 ASP.NET Core 中。此 docs page 提供概述。
重要的部分是在 Configure
的 Startup.cs
方法中配置错误处理程序:
app.UseExceptionHandler("/Error");
然后有一个名为 Error.cshtml
的 Razor 页面来处理和显示您想要的任何内容。
如果你想执行自定义错误页面,你可以使用 UseStatusCodePagesWithReExecute
和 UseExceptionHandler
中间件,如下所示:
控制器:
public class ErrorController : Controller
{
[Route("Error/{statusCode}")]
public IActionResult StatusCodeError(int statusCode)
{
return Redirect("Index.html"); //Index.html located in wwwroot folder
}
}
Startup.cs:
public void Configure(IApplicationBuilder app,IWebHostEnvironment env)
{
app.UseStatusCodePagesWithReExecute("/Error/{0}");
app.UseExceptionHandler("/Error/500");
app.UseHttpsRedirection();
app.UseStaticFiles();
//...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。