配置Web.config 元素CustomErrors
一、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的更多相关文章
- 结合jquery的前后端加密解密 适用于WebApi的SQL注入过滤器 Web.config中customErrors异常信息配置 ife2018 零基础学院 day 4 ife2018 零基础学院 day 3 ife 零基础学院 day 2 ife 零基础学院 day 1 - 我为什么想学前端
在一个正常的项目中,登录注册的密码是密文传输到后台服务端的,也就是说,首先前端js对密码做处理,随后再传递到服务端,服务端解密再加密传出到数据库里面.Dotnet已经提供了RSA算法的加解密类库,我们 ...
- .Net高级编程-自定义错误页 web.config中<customErrors>节点配置
错误页 1.当页面发生错误的时候,ASP.Net会将错误信息展示出来(Sqlconnection的错误就能暴露连接字符串),这样一来不好看,二来泄露网站的内部实现信息,给网站带来安全隐患,因此需要定制 ...
- asp.net配置web.config支持jQuery.Uploadify插件上传大文件
配置web.config有两处地方需要配置,分别是集成模式和经典模式. 集成模式: <!--文件上传大小设置--> <httpRuntime requestValidationMod ...
- Web.config中customErrors异常信息配置
开发工具:Visual Studio 2017 15.7.5 开发平台:Windows 10 新建WebApi项目,Web.config配置文件中,system.web下级节点中默认没有customE ...
- asp.net权限控制配置web.config
项目下 有三个文件夹 A,B,C 验正方式是 Forms 验正 我要设置他们的访问权限为, A,匿名可访问 B,普通用户授权后才能访问 C,只允许管理员访问 <configuration> ...
- web.config及<customErrors>节点之说明
Web.config文件是一个XML文本文件,它用来储存ASP.NETWeb 应用程序的配置信息(如最常用的设置ASP.NETWeb 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中.当你 ...
- web.config中<customErrors>节点
错误提示: “/”应用程序中的服务器错误.------------------------------------------------------------------------------- ...
- 通过配置web.config使WCF向外提供HTTPS的Restful Service
如何通过WCF向外提供Restful的Service请看如下链接 http://www.cnblogs.com/mingmingruyuedlut/p/4223116.html 那么如何通过对web. ...
- asp.net mvc 应用Bundle(捆绑和微小)压缩技术 启用 BundleConfig 配置web.config
从MVC4开始,我们就发现,项目中对Global.asax进行了优化,将原来在MVC3中使用的代码移到了 [App_Start]文件夹下,而Global.asax只负责初始化.其中的BundleCon ...
随机推荐
- [Spark][Flume]Flume 启动例子
Flume 启动例子: flume-ng agent --conf /etc/flume-ng/conf --conf-file /etc/flume-ng/conf/flume.conf --nam ...
- js判断当前浏览器页面是否切换
公司做mifi设备,ui界面很多信息需要1S钟不断异步请求更新信息,如果同时打开多个浏览器或者多个当前界面,设备1S钟会收到很多个请求,由于设备本身内存限制,会导致响应速度过慢,且会造成设备重启等. ...
- Git简易的命令入门
Git 全局设置: git config --global user.name "kszsa" git config --global user.email "duyon ...
- C语言之运算符、表达式和语句
#include<stdio.h> #define ADJUST 7.31 int main(void) { const double SCALE = 0.333; double shoe ...
- RabbitMQ消息的交换
消息的交换 目录 RabbitMQ-从基础到实战(1)— Hello RabbitMQ RabbitMQ-从基础到实战(2)— 防止消息丢失 1.简介 在前面的例子中,每个消息都只对应一个消费者,即使 ...
- 前端三大框架Angular & React & Vue
前端三大框架: Angular[Google]:一套框架,多种平台移动端 & 桌面端.学会用Angular构建应用,然后把这些代码和能力复用在多种多种不同平台的应用上 —— Web.移动 We ...
- 便捷的ajax请求
为什么要做这个呢?如果后端给的数据不单有JSON字符串,还有对象呢?这个时候我们就要每个都处理(JSON.parse).万一后端又改了,所有都是对象呢?如此一来我们就需要对我们的ajax进行封装. 这 ...
- Azure系列2.1.8 —— BlockEntry
(小弟自学Azure,文中有不正确之处,请路过各位大神指正.) 网上azure的资料较少,尤其是API,全是英文的,中文资料更是少之又少.这次由于公司项目需要使用Azure,所以对Azure的一些学习 ...
- day 7-14 数据库完整性约束
一. 介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性 主要分为: PRIMARY KEY 标示该字段为表的主键,可以唯一的标示记录 FOREIGN KEY 标示该 ...
- C# Note21: 扩展方法(Extension Method)及其应用
前言 今天在开会时提到的一个概念,入职3个多月多注重在项目中使用C#的编程知识,一直没有很认真地过一遍C#的全部语法,当我们新人被问及是否了解Extension Method时,一时之间竟不能很通俗准 ...