前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为.Net core 加入自定义的错误页面

为.Net core 加入自定义的错误页面

原创
作者头像
谭广健
修改2021-03-09 17:56:39
9160
修改2021-03-09 17:56:39
举报
文章被收录于专栏:谭广健的专栏

前文再续,书接上一篇;话说上一篇[为.Net core 加入日志功能]使某朋友顿时开悟,发现日志可以玩出这样的高度。。好吧,这次我们再将.Net core的框架,玩得更上一个层次。。

众所周知,当一个系统出现页面问题无法访问或出错,对用户来说都是一种噩梦。。因为所反馈的内容都是不友好的,那么有没有什么办法更好的显示呢。一开始我们是对IIS的错误页面进行重定义,例如404跳去相关的页面,但这样比较费事多系统部署就麻烦了。那有没有更好的处理,MVC以前则可以通过WEB.CONFIG进行设置;但最近研究.NET Core有一个更便捷的方法,就是直接将错误也写入页面路由,当出现错误页面路由就自动跳转。好吧也不废话,直接上干货。。

1、修改配置服务和应用的Startup.cs类:

在 Configure(IApplicationBuilder app) 中加入

代码语言:javascript
复制
  app.UseStatusCodePagesWithRedirects("/Login/Error/?Errcode={0}");

这个解释一下UseStatusCodePagesWithRedirects,它是.Net Core的一个聪明的中间件。为什么说它聪明呢?因为它会拦截 404 状态代码,并且重定向到指定的错误路径中并带入状态代码进行跳转。。

2、既然能重定向那我就只需在控制器中加入相关的代码就可以。

代码语言:javascript
复制
 public IActionResult Error(string Errcode){
            /*var statusCodeResult =
               HttpContext.Features.Get<IStatusCodeReExecuteFeature>();
            ViewBag.Path = statusCodeResult.OriginalPath;*/
            ViewBag.Errcode = Errcode;           
            return View();
 }

这样就能当出现错误自动跳转,当然可以加入我们上次说的日志功能,就可以完美了。。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档