.NET自定义错误页面

在项目运行过程中,对于项目中的bug造成的错误,一般是不应该将错误的黄页展示在客户端浏览器上的,为此,我们可以自定义一个错误页面,用于提高用户体验。
比较常见的一种方式就是配置web.config:

<system.web>
    <compilation debug="true" targetFramework="4.5.2" />
    <httpRuntime targetFramework="4.5.2" />
    <authentication mode="Windows" />
    <customErrors mode="On" defaultRedirect="error.htm">
      <error statusCode="404" redirect="notFind.aspx" />
    customErrors>
  system.web>

如上面代码中配置,在system.web节点下增加customErrors节点,mode有3种类型,包含“On,Off,Remootenly”

◦On . 指定启用自定义错误。 如果未指定 defaultRedirect 特性,用户将看到一般性错误。 会向远程客户端和本地主机显示自定义错误。
◦Off . 指定禁用自定义错误。 会向远程客户端和本地主机显示详细的 ASP.NET 错误。
◦RemoteOnly . 指定仅向远程客户端显示自定义错误并且向本地主机显示详细的 ASP.NET 错误。 这是默认值。
•defaulRedirect . 指定出错时将浏览器定向到的默认 URL。 如果未指定该特性,则显示一般性错误。
•redirectMode . 指定当显示自定错误页面时,如何处理原始请
求的 URL 的值。 选择ResponseRedirect,则浏览器地址会重定向到错误页面地址。ResponseRewrite保持原地址不变。

也可以自定义StatusCode,在上面的配置中加一个error节点
《error statusCode=”701” redirect=”noAccess.htm” /》(csdn编辑器有问题,尖括号中的内容不显常常),然后在特定的错误中抛出异常(throw new HttpException(701, ex.ToString());),便可跳转到配置文件中指定的错误页面。

你可能感兴趣的:(随笔)