.net自定义错误页面实现

前言:

  在实际的web开发中,经常会遇到以下情况,导致给用不好的体验:
    a、程序未处理的异常,直接输出显示到用户页面
    b、用户访问的资源不存在,直接显示系统默认的404页面
    c、其它以下请求错误状态的系统默认页面(403等)
  为了给用户友好的体验,在实际项目开发中,
需要对系统会不同的异常定制相应的友好提示页面

  .net中自定义异常页面的重定向都是通过web.config配置页面配置实现,
其具体的实现方式有两种方式:

其一、通过节点system.web新增customErrors配置节点实现

  IIS环境需求:IIS7、IIS7+、IIS7以前版本

  作用对象:作用于Asp.Net级别的错误处理程序
       也就是说,对于(.html/.js)等静态资源不起作用
  实现方式:

 <system.web>
   <customErrors mode="On" defaultRedirect="ApplicationErroy.aspx">
      <error statusCode="403" redirect="/ErrorPage/403.html"/>
      <error statusCode="404" redirect="/ErrorPage/404.html"/>
      <error statusCode="500" redirect="/ErrorPage/500.html"/>
    </customErrors>
  </system.web>

 

 

其二、通过节点system.webServer新增httpErrors配置节点实现

  IIS环境需求:IIS7、IIS7+

    作用对象:作用于IIS级别的错误信息处理程序
       也就是说,asp.net程序异常和静态资源异常都处理

  实现方式:

  <system.webServer>
    <httpErrors errorMode="Custom" existingResponse="Replace">
      <clear />
      <error statusCode="404" responseMode="ExecuteURL" path="/ErrorPage/404.html" />
      <error statusCode="403" responseMode="ExecuteURL" path="/ErrorPage/403.html" />
      <error statusCode="500" responseMode="Redirect" path="/ErrorPage/500.html" />
    </httpErrors>
  </system.webServer>

 

应用总结:

  通过上面的描述,在实际开发中,只要环境时IIS7+,那么完全采用第二种方式即可

END

上面整理了一些在实际业务开发中遇到的关于页面加载慢的排查和解决的方法。后面还会越来月丰富起来,如果你的项目有可能遇到打开慢的情况,不妨点赞收藏一下~。

END
为了更高的交流,欢迎大家关注我的公众号,扫描下面二维码即可关注,谢谢:


posted @   程序员修炼之旅  阅读(2050)  评论(6编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
END
欢迎各位小伙伴关注我的公众号(程序员修炼之旅),里面会分享一些技术类干货,同时也是一个技术沟通交流平台,谢谢大家的支持。
点击右上角即可分享
微信分享提示