c# – ASP.NET MVC 6基于HTTP状态代码处理错误
我想为每个状态代码显示不同的错误消息,例如:
> 400错误请求 如何在新的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.cshtml } ... more actions here to handle other status codes } 一些注释: >检查其他扩展方法,如UseStatusCodePagesWithRedirects (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |