配置Web.config 元素CustomErrors
2024-08-28 20:47:48
一、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();
}
最新文章
- [NHibernate]查看NHibernate生成的SQL语句
- Swift_UI_UILabel
- Hadoop入门进阶课程6--MapReduce应用案例
- android XMl 解析神奇xstream 四: 将复杂的xml文件解析为对象
- POJ3659 Cell Phone Network(树上最小支配集:树型DP)
- db2删除数据库
- 详细讲解Android对自己的应用代码进行混淆加密防止反编译
- 获取mssqlserver与access数据库插入的当前行的id
- JDK基本介绍
- List集合分页显示
- WinSnap屏幕截图 V4.5.6 官方最新版
- Delphi使用Zint生成QR二维条码(zint.dll)
- a 标签的四种样式
- JSZX_HC_2016_R5
- ReSharper导致Visual Studio缓慢?
- 快速搭建python程序
- python获取两个日期间的工作日
- python自动化测试入门篇-jemter
- alpha冲刺(1/10)
- BZOJ4259 残缺的字符串(FFT)
热门文章
- 从Linux内核角度看中间人攻击(ARP欺骗)并利用Python scapy实现
- Generative Adversarial Nets[Introduction]
- Windows OpenSSH 基本用法
- 讲一个关于paxos的故事...
- 【C#复习总结】细说表达式树
- [C#]实现任何数据库类型的DbHelper帮助类
- 关于VS2017 添加 EF的MVC控制器报错的解决方法
- Node 系列之path模块
- 固态硬盘的PCIE,SATA,M2,NVMe,AHCI分别都指什么?别再搞混了
- A+B大数运算