[ASP.NET]webConfig-----customErrors 介绍

<customErrors>节点用 于定义一些自定义错误信息的信息。此节点有Mode和defaultRedirect两个属性,其中defaultRedirect属性是一个可选属性, 表示应用程序发生错误时重定向到的默认URL,如果没有指定该属性则显示一般性错误。Mode属性是一个必选属性,它有三个可能值,它们所代表的意义分别 如下:
On 表示在本地和远程用户都会看到自定义错误信息。
Off 禁用自定义错误信息,本地和远程用户都会看到详细的错误信息。
RemoteOnly 表示本地用户将看到详细错误信息,而远程用户将会看到自定义错误信息。

这里有必要说明一下本地用户和远程用户的概念。当 我们访问asp.net应用程时所使用的机器和发布asp.net应用程序所使用的机器为同一台机器时成为本地用户,反之则称之为远程用户。在开发调试阶 段为了便于查找错误Mode属性建议设置为Off,而在部署阶段应将Mode属性设置为On或者RemoteOnly,以避免这些详细的错误信息暴露了程 序代码细节从而引来黑客的入侵。

<error>子节点

在<customErrors>节点 下还包含有<error>子节点,这个节点主要是根据服务器的HTTP错误状态代码而重定向到我们自定义的错误页面,注意要 使<error>子节点下的配置生效,必须将<customErrors>节点节点的Mode属性设置为“On”。下面是一个例 子:

<system.web>
    <customErrors mode="On" defaultRedirect="~/Html_Tools/Html_UI/Error_404.htm">
      <error statusCode="404" redirect="~/Html_Tools/Html_UI/Error_404.htm" />
      <error statusCode="500" redirect="~/Html_Tools/Html_UI/Error_500.htm" />
    </customErrors>
    <!--发布时改为false,开发时为true-->
    <compilation debug="true" targetFramework="4.6" />
    <!--配置文件传输大小限制-->
    <httpRuntime maxRequestLength="51200"  targetFramework="4.6" />
  </system.web>

在上面的配置中如果用户访问的页面不存在就会跳转到404.htm页面,如果服务端的内部错误的页面则会跳转到500.htm页面,500.htm和404.htm页面都是我们自己添加的页面,我们可以在页面中给出友好的错误提示。

posted on 2019-01-12 18:57  欢笑一声  阅读(441)  评论(0)    收藏  举报

导航