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();
}

Asp.net Web.Config - 配置元素customErrors的更多相关文章

  1. Asp.net Web.Config - 配置元素 caching

    Asp.net Web.Config - 配置元素 caching 记得之前在写缓存DEMO的时候,好像配置过这个元素,好像这个元素还有点常用. 一.caching元素列表   元素 说明 cache ...

  2. Asp.net Web.Config - 配置元素 trace

    一.trace的元素的属性 属性 说明 enabled 是否启用应用程序跟踪.为了使用 Trace.axd 查看器,必须启用跟踪.默认情况下,Trace.axd 查看器被添加到httpHandlers ...

  3. Asp.net Web.Config - 配置元素 httpCookies

    1.属性   属性 说明 domain 可选的 String 属性. 设置 Cookie 域名. httpOnlyCookies 可选的 Boolean 属性. 脚本(javascript之类)能够访 ...

  4. asp.net web.config配置节说明

    web.config 文件查找规则:      (1)如果在当前页面所在目录下存在web.config文件,查看是否存在所要查找的结点名称,如果存在返回结果并停止查找.      (2)如果当前页面所 ...

  5. asp.net web.config配置节说明(转发)

    原文地址:http://www.cnblogs.com/qingyuan/articles/1501644.html web.config 文件查找规则:      (1)如果在当前页面所在目录下存在 ...

  6. ASP.NET Web.Config配置数据库连接的一种方法

    所谓的webConfig配置数据库连接就是在里面某个特定名称的节点中写下ADP.NET中的ConnectString,就这么简单 1.首先在Web.Config文件里写下数据库连接字符串. <c ...

  7. ASP.NET web.config 配置里部分参数详细说明

    Session配置 <!-- <identity impersonate = "false" [true|false] userName = "" ...

  8. asp.net中web.config配置节点大全详解

    最近网上找了一些关于Web.config配置节点的文章,发现很多都写的都比较零散,而且很少有说明各个配置节点的作用和用法.搜索了一下发现有一篇写的不错,这里引用一下 原文地址 http://www.c ...

  9. Asp.net中的web.config配置

    目录 Asp.net中的web.config配置... 1 一. 配置文件保存位置... 2 二. 配置文件加载顺序... 2 三. 配置文件节点介绍... 3 1. . 3 2. . 5 3. . ...

随机推荐

  1. Network Attack

    Network Attack Nicola regularly inspects the local networks for security issues. He uses a smart and ...

  2. Spoj1771-Yet Another N-Queen Problem(精确覆盖)

    Description After solving Solution to the n Queens Puzzle by constructing, LoadingTime wants to solv ...

  3. paip.提升性能--- mysql 建立索引 删除索引 很慢的解决.

    paip.提升性能--- mysql 建立索引 删除索引 很慢的解决. 作者Attilax ,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blo ...

  4. WPF-24:绘制正多边形

    一般来说绘制正N边形,使用Blend直接画出来就好.不过可能是博主受WInform影响比较大,比较喜欢使用画出来的图形.如果要绘制正N边形,前面的绘制五角星的公式可以通用的(http://blog.c ...

  5. ps查看内存占用排序

    ps -eo rss,pmem,pcpu,vsize,args | sort -k 1 -r -n | less 解析一下: ps 都知道,是linux,unix显示进程信息的, -e 是显示所有进程 ...

  6. IO之内核buffer----"buffer cache"

    举例 一般情况下,Read,write系统调用并不直接访问磁盘.这两个系统调用仅仅是在用户空间和内核空间的buffer之间传递目标数据. 举个例子,下面的write系统调用仅仅是把3个字节从用户空间拷 ...

  7. SQL生成随机字符串

    1.SQLserve生成随机字符串 SELECT replace(newid(), '-', '')

  8. 认识Ant

    Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能.在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作. 一.            ...

  9. Java客户端Jedis的八种调用方式

      redis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务.管道及有jedis自身实现的分布式. 在这里对jedis关于事务.管道和分 ...

  10. hdu 2612 Find a way(BFS)

    题目链接:hdu2612 思路:题意是求两个人到某一个KFC花费时间和最小,其实就是求最短距离和,用两个BFS,分别以两个人为起点,分别记录下两人到每个KFC的距离,然后求出最小的和 #include ...