配置元素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[]; //获取其下的第一个子<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();
}
配置元素customErrors的更多相关文章
- Asp.net Web.Config - 配置元素customErrors
Asp.net配置文件的配置方式,其实在MSDN里面是写得最清楚的了.可惜之前一直未曾了解到MSDN的强大. 先贴个地址:http://msdn.microsoft.com/zh-cn/library ...
- Asp.net Web.Config - 配置元素 caching
Asp.net Web.Config - 配置元素 caching 记得之前在写缓存DEMO的时候,好像配置过这个元素,好像这个元素还有点常用. 一.caching元素列表 元素 说明 cache ...
- 每日学习心得:找不到类型{0},它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素...中提供,cellspacing、rowspacing属性
2013-7-6 1. 找不到类型“WCFService.Service1”,它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 syste ...
- 找不到类型“IBatisService.boxManageService”,它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/serviceHostingEnvironment/serviceActivations 中提供。
找不到类型“IBatisService.boxManageService”,它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/s ...
- WCF项目问题1-找不到类型“WCFService.Service1”,它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/serviceHostingEnvironment/serviceActivations 中提供。
找不到类型“WCFService.Service1”,它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/serviceHosti ...
- 【原创】IBM Websphere 报错:JSPG0120E: 为 pageEncoding 属性和匹配 URI 模式的配置元素指定不同的值是非法的。
websphere中间件,在打开一个jsp页面时报: IBM Websphere 报错:JSPG0120E: 为 pageEncoding 属性和匹配 URI 模式的配置元素指定不同的值是非法的. . ...
- 它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/serviceHostingEnvironment/serviceActivations 中提供
找不到类型“Services.CalculatorService”,它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 system.serviceModel/servi ...
- 配置Web.config 元素CustomErrors
一.customErrors 元素 属性 说明 defaultRedirect 指定出错时将浏览器定向到的默认 URL.如果未指定该属性,则显示一般性错误. 可选的属性. URL 可以是绝对的(如 w ...
- Asp.net Web.Config - 配置元素 trace
一.trace的元素的属性 属性 说明 enabled 是否启用应用程序跟踪.为了使用 Trace.axd 查看器,必须启用跟踪.默认情况下,Trace.axd 查看器被添加到httpHandlers ...
随机推荐
- EF数据存贮问题二之“无法定义这两个对象之间的关系,因为它们附加到不同的 ObjectContext 对象”
“无法定义这两个对象之间的关系,因为它们附加到不同的 ObjectContext 对象”,这是在EF中,一对多关系表,有外键的类保存至数据库中出现的错误. 我原来是用JAVA开发的,习惯性的处理一对多 ...
- linus用的是哪个桌面?
- CSS: Table-Layout & Word-Break 设置表和列的宽度固定不变
1. 设置Table的列宽由表格宽度和列宽度设定(指定表格宽度,各个列宽度): table#tbl_id{table-layout:fixed;} 2. 设置TD内容根据宽度进行换行,即使字符串之间无 ...
- 关于JS中的this关键字
在学习js时,应该先了解下this关键字,关于js中的this关键字和其他的面向对象语言中的this是不同的,比如在java中,this指的的是当前对象,而在js中,w3c是这样规定的: 关键字 th ...
- android 利用Bitmap获取圆角矩形、圆形图片
1.在很多时候,我们要显示图片资源,需要将他的资源显示为圆角的:示例源码如下: public static Bitmap getRoundedCornerBitmap(Bitmap bitmap,fl ...
- $(function(){})与(function($){....})(jQuery)的区别
$(function(){}); 全写为 $(docunemt).ready(function(){ }); 意义为在DOM加载完毕后执行ready()方法 (function($){....})(j ...
- linux虚拟机网络连接模式 bridged, host-only, NAT
最近安装了fedora9.0,却一直不能连接到外网,我用的是3G无线网卡上网的,起初以为是linux不支持3G无线方式的,可后来装了虚拟机ubuntu却可以上网,在后来用有ADSL网络连接的电脑安装f ...
- 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)——引用
在Django视图函数中经常出现类似于'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)的错误. ...
- layout_weight
最近写Demo,突然发现了Layout_weight这个属性,发现网上有很多关于这个属性的有意思的讨论,可是找了好多资料都没有找到一个能够说的清楚的,于是自己结合网上资料研究了一下,终于迎刃而解,写出 ...
- Oracle 安装时候的网络相关内核参数
http://www.cnblogs.com/gaojian/archive/2012/10/12/2721284.html http://blog.chinaunix.net/uid-2442641 ...