gpt4 book ai didi

asp.net-core - UseStatusCodePagesWithRedirects 和 UseStatusCodePagesWithReExecute 之间的区别 - Asp.net core 中的状态代码页

转载 作者:行者123 更新时间:2023-12-04 07:40:42 24 4
gpt4 key购买 nike

我正在使用 UseStatusCodePages 中间件在我的应用程序上显示状态代码页,但它在 UI 上显示纯文本,没有任何其他信息,

我想显示带有状态代码信息的 UI 以及一些其他有用的信息,例如具有更用户友好页面的客户支持号码。

我发现我们可以使用两种扩展方法来做到这一点,即 UseStatusCodePagesWithRedirects 和 UseStatusCodePagesWithReExecute。我发现的唯一区别 Microsoft Docs是,

UseStatusCodePagesWithRedirects : 向客户端发送 302。

UseStatusCodePagesWithReExecute :发送原始状态代码并执行重定向 URL 的处理程序。

这是唯一的区别吗?

最佳答案

我认为主要区别在于 UseStatusCodePagesWithRedirects 将您重定向到错误 Controller 操作方法,而 UseStatusCodePagesWithReExecute 只是呈现页面而没有重定向

示例

Controller Action

[Route("error/404")]
public IActionResult Error404(int code)
{

return View("Error404");
}
[Route("error/{code}")]
public IActionResult Error(int code)
{
return StatusCode(code);
}

启动Cinfigue
 app.UseStatusCodePagesWithRedirects("/error/{0}");

或者
  app.UseStatusCodePagesWithReExecute("/error/{0}");

案例 1(404 错误)

网址: https://localhost:5001/notexits_page

1) UseStatusCodePagesWithRedirects
结果:

网址是: https://localhost:5001/error/404

我们看到Error404页面

2) UseStatusCodePagesWithReExecute

结果:

网址是: https://localhost:5001/notexits_page

我们看到Error404页面

案例 2(401 错误)

网址: https://localhost:5001/admin/users

1) UseStatusCodePagesWithRedirects
结果:

网址是: https://localhost:5001/error/401

我们在无限循环中堆叠

1) UseStatusCodePagesWithRedirects
结果:

网址是: https://localhost:5001/admin/users

我们看到 401 错误的默认浏览器错误页面

关于asp.net-core - UseStatusCodePagesWithRedirects 和 UseStatusCodePagesWithReExecute 之间的区别 - Asp.net core 中的状态代码页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50400452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com