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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基于全卷积神经网络的图像分割方法详解(二)

    基于全卷积神经网络的图像分割方法详解(二)最近这段时间刚好忙完学业作业,抽空来总结一下前段时间的工作。前段时间一直忙于用深度学习做医学图像分割,采用的方法是FCN,也就是全卷积神经网络。全卷积神经网络是基于卷积神经网络的改进,使得输入和输出的尺寸一致,并且对每个像素点进行分类,达到图像分割的目的。下图是全卷积神经网络的流程图。其中第一行是提取特征步骤,然后2Xconv7和4Xconv7分别表示对conv7的输出进行2倍和4倍上采样…

    2022年6月19日
    38
  • 常用的信息搜集和整理方法_公司合并整合工作方案

    常用的信息搜集和整理方法_公司合并整合工作方案——本文参考自t7前辈的课程,侵删信息收集一、简介什么是信息搜集?信息搜集也称踩点,信息搜集毋庸置疑就是尽可能的搜集目标的信息,包括端口信息、DNS信息、员工邮箱等等看似并不起眼的一些信息都算是信息搜集,这些看似微乎其微的信息,对于渗透测试而言就关乎到成功与否了。信息搜集的重要性信息搜集是渗透测试的最重要…

    2022年4月19日
    109
  • pycharm运行时报configuration错误「建议收藏」

    pycharm运行时报configuration错误「建议收藏」在新建一个.py文件用pycharm打开运行时,报以下错误错误原因是该项目未配置正确的python解释器。在filesetting中找到解释器位置下拉选项,找到下载好的python解释器然后applyOK即可正确运行。…

    2022年8月26日
    9
  • 菜鸟教程java的list_Java菜鸟教程

    菜鸟教程java的list_Java菜鸟教程分阶段进阶教学+阶段考评让学习无死角因为考虑学员基础水平参差不齐,所以动力节点的课程安排对学员进行科学细致的划分,整个教学安排共分两大部分即:基础部分和就业部分,基础部分课程由教学总监定制最适合零基础入门的课程大纲;就业部分课程由教研部实地探访名企如百度、京东、新浪等企业,将最前沿的技术引入到课堂,同时又根据就业课程的深度不同划分为7个阶段,每个阶段都有不同的技术侧重点,层层深入。纵观来看,动力…

    2022年6月13日
    31
  • BurpSuit暴力激活成功教程密码

    BurpSuit暴力激活成功教程密码暴力激活成功教程原理暴力激活成功教程是用户自定义字典文件中的内容与验证程序交互,从而在枚举过程中得到正确数据案例:激活成功教程用户名、密码激活成功教程验证码-之前四位数的手机验证码在未进行任何防护措施,导致被枚举出来暴力激活成功教程的基础应用程序或服务器未进行限制具有内容涵盖全方面的字典文件暴力激活成功教程方式根据激活成功教程的验证码内容是否处于服务状态将暴力激活成功教程分为以下两类:1.在线激活成功教程2.离线激活成功教程无论是在线还是离线是否可以…

    2022年8月22日
    13
  • MySql的root密码忘记该怎么找回

    MySql的root密码忘记该怎么找回Windows下如果MySQL密码忘记了root密码导致无法登录,如下图所示,这个时候怎么办,只能重置root密码了。1.打开任务管理器查看MySql服务是否启动,如果已启动则先将其停止2.找到MySql目录下的my.ini文件3.打开该文件,找到里面的[mysqld],然后在这个下面添加skip-grant-tables,添加完后保存文件4.重新进到任务管理器将…

    2022年6月17日
    27

发表回复

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

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