c# – ASP.NET MVC 6基于HTTP状态代码处理错误

c# – ASP.NET MVC 6基于HTTP状态代码处理错误,第1张

概述我想为每个状态代码显示不同的错误消息,例如: > 400错误请求 > 403禁止 > 500内部服务器错误 > 404未找到 > 401未经授权 如何在新的ASP.NET MVC 6应用程序中实现这一点?我可以使用内置的UseErrorHandler方法吗? application.UseErrorHandler("/error"); 此外,我注意到,即使使用上述处理程序,输入不存在的URL,例如 我想为每个状态代码显示不同的错误消息,例如:

> 400错误请求
> 403禁止
> 500内部服务器错误
> 404未找到
> 401未经授权

如何在新的ASP.NET MVC 6应用程序中实现这一点?我可以使用内置的UseErrorHandler方法吗?

application.UseErrorHandler("/error");

此外,我注意到,即使使用上述处理程序,输入不存在的URL,例如/ this-page – 不存在,会导致IIS中发现难看的404 Not Found错误页面.这怎么也可以处理?

在MVC 5中,我们不得不在web.config文件中使用ASP.NET的system.web customerrors部分和web.config文件中的system.webServer httpErrors部分,但是很难处理笨重的事情,有很多非常奇怪的行为. MVC 6是否使此更简单?

解决方法 您可以使用StatuscodepagesMIDdleware进行此 *** 作.以下是一个例子:
public voID Configure(IApplicationBuilder app,ILoggerFactory loggerFactory){    app.UseStatuscodepagesWithReExecute("/StatusCodes/StatusCode{0}");    app.UseMvcWithDefaultRoute();

处理状态代码请求的控制器:

public class StatusCodesController : Controller{    public IActionResult StatusCode404()    {        return VIEw(vIEwname: "NotFound"); // you have a vIEw called NotFound.cs@R_404_6832@    }    ... more actions here to handle other status codes}

一些注释:

>检查其他扩展方法,如UseStatuscodepagesWithRedirects
和UseStatuscodepages用于其他功能.
>我在我的例子中尝试使用StatusCode作为查询字符串,但是看起来像这样
中间件不处理查询字符串,但可以看一下
this代码并解决这个问题.

总结

以上是内存溢出为你收集整理的c# – ASP.NET MVC 6基于HTTP状态代码处理错误全部内容,希望文章能够帮你解决c# – ASP.NET MVC 6基于HTTP状态代码处理错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1236391.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存