Asp.net Web.Config – 配置元素customErrors

Asp.net Web.Config – 配置元素customErrorsAsp.netWeb.Config-配置元素customErrors Asp.net配置文件的配置方式,其实在MSDN里面是写得最清楚的了。可惜之前一直未曾了解到MSDN的强大。  先贴个地址:http://msdn.microsoft.com/zh-cn/library/dayb112d(v=vs.80).aspx,然后逐个分析。我希望自己能够从头到尾认真学完这系列东西。为了不至于让自己太早放弃,我决定从自己用过的配置文件学起,然后逐渐接触那些比较生疏,和少用的。一、customErro

大家好,又见面了,我是你们的朋友全栈君。

Asp.net Web.Config – 配置元素customErrors

 Asp.net配置文件的配置方式,其实在MSDN里面是写得最清楚的了。可惜之前一直未曾了解到MSDN的强大。

  先贴个地址:http://msdn.microsoft.com/zh-cn/library/dayb112d(v=vs.80).aspx,然后逐个分析。我希望自己能够从头到尾认真学完这系列东西。为了不至于让自己太早放弃,我决定从自己用过的配置文件学起,然后逐渐接触那些比较生疏,和少用的。

一、customErrors 元素

属性 说明

defaultRedirect

指定出错时将浏览器定向到的默认 URL。如果未指定该属性,则显示一般性错误。

可选的属性。

URL 可以是绝对的(如 www.contoso.com/ErrorPage.htm)或相对的。相对 URL(如 /ErrorPage.htm)是相对于为该属性指定 URL 的 Web.config 文件,而不是相对于发生错误的网页。以字符 (~) 开头的 URL(如 ~/ErrorPage.htm)表示指定的 URL 是相对于应用程序的根路径。

mode

指定是启用或禁用自定义错误,还是仅向远程客户端显示自定义错误。

必选的属性。

可选值以及说明:

On        指定启用自定义错误。如果未指定 defaultRedirect,用户将看到一般性错误。

Off        指定禁用自定义错误。这允许显示标准的详细错误。

RemoteOnly  指定仅向远程客户端显示自定义错误并且向本地主机显示 ASP.NET 错误。这是默认值。

默认值为 RemoteOnly。

  2、位置

  customerErrors -> configuration-> system.web  //该元素放于<system.web>下的<configuration>节点下

  3、子元素

元素 说明

error

指定给定 HTTP 状态代码的自定义错误页。

可选的元素。

错误标记可以出现多次。子标记的每一次出现均定义一个自定义错误条件。

   4、配置示例:

复制代码

复制代码

<configuration>
  <system.web>
    <customErrors defaultRedirect="defaultError.htm"  //发生错误时,重定向到defaultError.htm
                  mode="RemoteOnly">           //仅仅对本地用户显示详细错误信息
      <error statusCode="500"               //针对500错误,跳转到500Error.htm
             redirect="500Error.htm"/>
    </customErrors>
  </system.web>
</configuration>

复制代码

复制代码

  5、配置节处理程序

  该配置节点对应Asp.net中的配置节类为:

  System.Web.Configuration.CustomErrorsSection

  来看看在类的主要公共属性:

属性 说明
DefaultRedirect 获取或设置重定向的默认 URL。
ElementInformation  获取包含 ConfigurationElement 对象的不可自定义的信息和功能的 ElementInformation 对象。 (从 ConfigurationElement 继承。)
Errors 获取 CustomError 对象的集合,也就是其下面的<error>配置节。
LockAllAttributesExcept  获取被锁定的属性的集合。 (从 ConfigurationElement 继承。)
LockAllElementsExcept  获取被锁定的元素的集合。 (从 ConfigurationElement 继承。)
LockAttributes  获取被锁定的属性的集合。 (从 ConfigurationElement 继承。)
LockElements  获取被锁定的元素的集合。 (从 ConfigurationElement 继承。)
LockItem  获取或设置一个值,该值指示是否已锁定该元素。 (从 ConfigurationElement 继承。)
Mode 获取或设置错误显示模式。
SectionInformation  获取一个 SectionInformation 对象,该对象包含 ConfigurationSection 对象的不可自定义的信息和功能。 (从 ConfigurationSection 继承。)

  下面以程序示例如何在程序中读取和设置配置节:

复制代码

复制代码

        public ActionResult Index()
        {
            //<customErrors defaultRedirect="defaultError.htm" mode="Off">
            //  <error statusCode="500" redirect="500.htm"/>
            //</customErrors>

            //CustomErrorsSection customErrorsSection = ConfigurationManager.GetSection("system.web/customErrors") as CustomErrorsSection;    //这样获取也可以,但是要注意里面的路径的写法
            CustomErrorsSection CES = (CustomErrorsSection)WebConfigurationManager.OpenWebConfiguration("/").GetSection("system.web/customErrors");
            Response.Write(CES.DefaultRedirect);    //输出 defaultError.htm
            CustomErrorsMode mode = CES.Mode;
            Response.Write(mode);       //输出 Off

            CustomError CE = CES.Errors[0]; //获取其下的第一个子<error>节点
            Response.Write(CE.StatusCode);  //输出 500
            Response.Write(CE.Redirect);    //输出 500.htm

            ElementInformation EleInfo = CES.ElementInformation;    //元素信息
            Response.Write(EleInfo.LineNumber);     //输出 14 恰好是customErrors所在Web.Config的行号

            System.Configuration.Configuration c = CES.CurrentConfiguration;   //当前Configuration对象的引用
            Response.Write(CES.IsReadOnly());     //输出 False 指示该节点是否为只读
            Response.Write(CES.LockItem);         //输出 False 是否已锁定该元素
            Response.Write(CES.RedirectMode);     //输出 ResponseRedirect 一个枚举  将用户重定向到自定义错误页面时,是否应该更改请求的URL

            SectionInformation SI = CES.SectionInformation;
            Response.Write(SI.Name);     //输出 customErrors

            return View();
        }

复制代码

复制代码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160199.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker 离线安装_Docker安装

    docker 离线安装_Docker安装一.上传docker-offline-installer.tar并解压缩(1)tar-xvfdocker-offline-installer.tar如果在网上找不到docker-offline-installer.tar,可以在我的CSDN中点击[资源]去下载二.配置yum源(1)进入工作目录:cd/etc/yum.repos.d/(2)备份现有库源:mkdirrepo&&mv*.reporepo/…

    2022年9月26日
    2
  • c++编写入门版贪吃蛇,只要你想学就能学会

    c++编写入门版贪吃蛇,只要你想学就能学会

    2021年3月12日
    221
  • GHO文件转iso文件能启动安装

    GHO文件转iso文件能启动安装言:目前网上流传的gho转iso教程都是用ultraiso替换gho文件的方法,但是这种方法经过实际使用存在两个缺陷,1.只适用XP,超过800M的时候替换会提示升级DVD格式,但是升级之后会导致不能启动,不升级无法替换,2.不能有效的控制启动盘的来源,只能找别人做好的进行替换鉴于以上两点,有必要重新找个方法准备工具1.IT天空的PE制作工具下载地址2.win7的gho文件下载地址:3.winISO下载地址:http://lt2.mqego.com/soft1/winiso

    2022年7月13日
    22
  • ffmpeg安装教程_房间信号差怎么增强

    ffmpeg安装教程_房间信号差怎么增强FFMpeg安装步骤背景FFmpeg是什么1·FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源软件。采用LGPL或GPL许可证,提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec。2·FFmpeg一个领先的多媒体框架,具备解码,编码,转码,复用,解复用,流式传输,滤镜和播放等能力。3·它包含可供应用程序使用的libavcodec,libavutil,libavformat,libavfilter,libavdevi

    2025年11月6日
    2
  • java 文件上传到服务器_Java上传文件到服务器端的方法「建议收藏」

    java 文件上传到服务器_Java上传文件到服务器端的方法「建议收藏」Web文件上传采用POST的方式,与POST提交表单不同的是,上传文件需要设置FORM的enctype属性为multipart/form-data.由于上传的文件会比较大,因此需要设置该参数指定浏览器使用二进制上传。如果不设置,enctype属性默认为application/x-www-form-urlencoded,使用浏览器将使用ASCII向服务器发送数据,导致发送文件失败。上传文件要使用文件…

    2025年9月12日
    5
  • json对象转换为实体类_对象和实体的区别

    json对象转换为实体类_对象和实体的区别//importcom.yonyou.sscip.gson.Gson;//jSONObject数据{“pk_org”:”TEST”,”pk_group”:”TEST”,”code”:”a”,”name”:”a”}//1、创建Gson对象 Gsongson=newGson(); //2、调用toJson(Object)将对象转为字符串 StringJsonStr=gson.toJson(json); System.out.printl.

    2025年10月3日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号