文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

ASP.NETCore基础之异常中间件

2024-04-02 19:55

关注

了解异常中间件

首先,使用ASP.NET模板创建一个核心应用程序。默认情况下,ASP.NET核心应用程序只是返回应用程序未处理的异常的状态代码。如下所示,我们引发异常。

运行应用程序时,将得到以下输出。

如上图所示,它为您提供的状态代码为 500,这意味着内部服务器错误。但是,作为开发人员,在开发应用程序时,您应该知道有关页面上异常的详细信息,以便可以采取必要的操作来修复错误。

如何使用异常中间件?

如果希望应用程序显示显示有关未处理异常的详细信息的页面,则需要在请求处理管道中配置开发人员异常页面中间件。

为此,请修改Startup类的Configure 方法,如下所示,以添加开发人员异常页中间件,该中间件将处理应用程序中发生的未处理异常。

现在运行该应用程序,它将显示以下页面,其中包含有关未处理异常的详细信息。

如上图所示,“开发人员异常”页面包含五个选项卡,例如“堆栈”,“队列”,“ Cookie”,“标题”和“路由”。

现在,如果您验证“查询”选项卡和“ Cookies”选项卡,那么您将看不到任何信息,因为您没有在URL中传递任何查询字符串值,或者未在请求中设置Cookie。

注意:仅当应用程序在开发环境中运行时,才应启用“开发人员异常页面中间件”。 当应用程序在生产环境中运行时,您不想共享详细的异常信息。

如何自定义UseDeveloperExceptionPage中间件?

如果需要,还可以自定义UseDeveloperExceptionPage中间件。 您需要记住的一点是,每当您要在ASP.NET Core中自定义中间件组件时,都需要使用相应的Options对象。 例如

由于我们将自定义UseDeveloperExceptionPage()中间件组件,因此我们需要使用DeveloperExceptionPageOptions对象。 因此,如下所示修改Startup类的Configure方法。

如您在上面的代码中看到的,我们正在使用一个名为SourceCodeLineCount的属性。 DeveloperExceptionPageOptions类的SourceCodeLineCount属性指定在导致异常的代码行之前和之后要包含的代码行数。

现在,如果在进行上述更改的情况下运行应用程序,则将出现以下错误。 请查看错误的行号,即37行。同时,请查看错误行之前和之后的行号。

在哪配置UseDeveloperExceptionPage中间件?

我们需要在应用程序的请求处理管道中尽早配置UseDeveloperExceptionPage()中间件,以便它可以处理未处理的异常,然后显示带有异常详细信息的Developer Exception Page。

让我们看看在导致异常的中间件之后配置UseDeveloperExceptionPage()中间件时发生了什么。 请如下所示修改Configure()方法。

完成上述更改后,当我们运行该应用程序时,它不会显示开发人员的异常页面,而只会返回默认的错误状态代码。 这就是为什么我们需要尽早配置UseDeveloperExceptionPage()中间件来处理请求处理管道中应用程序未处理的异常的原因。

到此这篇关于ASP.NET Core基础之异常中间件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯