zoukankan      html  css  js  c++  java
  • .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+,那么完全采用第二种方式即可


  • 相关阅读:
    [整理]弦图学习笔记
    [整理]NOI Online 2021第一场题解
    [整理]Pólya 定理入门到入土
    [游记]2021省选抱灵记
    [整理]一些好玩的/板子的动态规划题目
    [整理]网络流随记——终(有关网络流的一些杂项)
    [整理][持续更新]多项式知识点大全(超简洁!)
    [洛谷P4338][题解][ZJOI2018]历史
    [游记]WC2021游记
    Codeforces Round #703 (Div. 2) (A~E)
  • 原文地址:https://www.cnblogs.com/xiaoXuZhi/p/customErrors_httpErrors.html
Copyright © 2011-2022 走看看