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

配置Web.config 元素CustomErrors的更多相关文章

  1. 结合jquery的前后端加密解密 适用于WebApi的SQL注入过滤器 Web.config中customErrors异常信息配置 ife2018 零基础学院 day 4 ife2018 零基础学院 day 3 ife 零基础学院 day 2 ife 零基础学院 day 1 - 我为什么想学前端

    在一个正常的项目中,登录注册的密码是密文传输到后台服务端的,也就是说,首先前端js对密码做处理,随后再传递到服务端,服务端解密再加密传出到数据库里面.Dotnet已经提供了RSA算法的加解密类库,我们 ...

  2. .Net高级编程-自定义错误页 web.config中<customErrors>节点配置

    错误页 1.当页面发生错误的时候,ASP.Net会将错误信息展示出来(Sqlconnection的错误就能暴露连接字符串),这样一来不好看,二来泄露网站的内部实现信息,给网站带来安全隐患,因此需要定制 ...

  3. asp.net配置web.config支持jQuery.Uploadify插件上传大文件

    配置web.config有两处地方需要配置,分别是集成模式和经典模式. 集成模式: <!--文件上传大小设置--> <httpRuntime requestValidationMod ...

  4. Web.config中customErrors异常信息配置

    开发工具:Visual Studio 2017 15.7.5 开发平台:Windows 10 新建WebApi项目,Web.config配置文件中,system.web下级节点中默认没有customE ...

  5. asp.net权限控制配置web.config

    项目下 有三个文件夹 A,B,C 验正方式是 Forms 验正 我要设置他们的访问权限为, A,匿名可访问 B,普通用户授权后才能访问 C,只允许管理员访问 <configuration> ...

  6. web.config及<customErrors>节点之说明

    Web.config文件是一个XML文本文件,它用来储存ASP.NETWeb 应用程序的配置信息(如最常用的设置ASP.NETWeb 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中.当你 ...

  7. web.config中<customErrors>节点

    错误提示: “/”应用程序中的服务器错误.------------------------------------------------------------------------------- ...

  8. 通过配置web.config使WCF向外提供HTTPS的Restful Service

    如何通过WCF向外提供Restful的Service请看如下链接 http://www.cnblogs.com/mingmingruyuedlut/p/4223116.html 那么如何通过对web. ...

  9. asp.net mvc 应用Bundle(捆绑和微小)压缩技术 启用 BundleConfig 配置web.config

    从MVC4开始,我们就发现,项目中对Global.asax进行了优化,将原来在MVC3中使用的代码移到了 [App_Start]文件夹下,而Global.asax只负责初始化.其中的BundleCon ...

随机推荐

  1. face detection[HR]

    该模型hybrid-resolution model (HR),来自<finding tiny faces>,时间线为2016年12月 0 引言 虽然大家在目标识别上有了较好的进步,可是检 ...

  2. 使用Sharding-Proxy进行分库分表

    Sharding-Proxy的使用 1.官网下载 sharding-jdbc的官网http://shardingsphere.io/document/current/cn/manual/shardin ...

  3. GC调优在Spark应用中的实践(转载)

    Spark是时下非常热门的大数据计算框架,以其卓越的性能优势.独特的架构.易用的用户接口和丰富的分析计算库,正在工业界获得越来越广泛的应用.与Hadoop.HBase生态圈的众多项目一样,Spark的 ...

  4. 快看Sample代码,速学Swift语言(3)-运算符

    运算符是用来检查,更改或组合值的特殊符号或短语.Swift提供的很多常规的运算符,如+.-.*./.%.=.==等,以及逻辑运算的&&.||等等,基本上不需要重复介绍,我们在这里只需要 ...

  5. 如何查看IntelliJ IDEA的版本信息

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. IDEA的版本信息问题 额,说实在的,这篇文章十三一开始也不是很想整 ...

  6. Maven 安装和配置

    一.Maven 简介 Maven 是一个强大的Java项目构建工具,类似.NET中的NuGet ,Node.js的NPM. 正如nuget.org ,Maven有一个中央仓库 maven.org,可以 ...

  7. 二次剩余从csdn

    欧拉准则 模\(p\)意义下,\(a\)是二次剩余等价于\(a^{\frac{p-1}{2}}\equiv 1\),\(a\)不是二次剩余等价于\(a^{\frac{p-1}{2}}\equiv -1 ...

  8. 百度统计微信网站绑定(vue项目)

    *网站域名:----- *网站首页:----/index.html 下列代码放入index.html vue加百度统计代码(亲测有效)

  9. D. Nastya Is Buying Lunch

    链接 [https://codeforces.com/contest/1136/problem/D] 题意 有N个人,a[i]表示第i个人的编号,m个二元组. 当前一个在后一个的前面一个位置时二者可以 ...

  10. 使用Browser请求 和 在cli中运行程序的分析

    在browser中请求后端的一个程序之后,立马将窗口关闭,服务器端的程序是否会挂起或者终止,还是继续执行? 如果是继续执行,那么执行完毕后,结果去了哪里?-->apache的工作流程 使用Bro ...