Asp.Net customErrors与httpErrors的区别
先看一下简单的对比
customErrors
- Asp.Net级别的错误处理程序,只处理Asp.Net应用抛出的异常(404,403,500。。)
- 在IIS7+的服务器依然可用(IIS7之前就引进了)
- 静态文件(如.jpg,.htm,.js等)不会被处理
httpErrors
- IIS级别的错误信息处理程序,IIS根据请求指定错误页面
- 自IIS7引进
- 处理包括ASP.NET应用及ASP.NET之外的应用(ASP.NET能管的 它会管,ASP.NET不能管得它也管)
- 所有的文件和URL都处理
从对比中能看出 在IIS7之后 就没必要再用customErrors了,一切httpErrors都可以办了。
<httpErrors errorMode="Custom" existingResponse="Replace"><remove statusCode="403" subStatusCode="-1" /><remove statusCode="404" subStatusCode="-1" /><error statusCode="403" prefixLanguageFilePath="" path="/403.png" responseMode="ExecuteURL" /><error statusCode="404" path="/404.aspx" responseMode="ExecuteURL" /> </httpErrors>
其实还可以用一个clear标签代替多个remove。如下
<httpErrors errorMode="Custom" existingResponse="Replace"><clear /><error statusCode="403" prefixLanguageFilePath="" path="/403.png" responseMode="ExecuteURL" /><error statusCode="404" path="/404.aspx" responseMode="ExecuteURL" /> </httpErrors>
Note:ExecuteURL 只能用于同一个应用下的ASP.NET文件,如果想要重定向到另一个应用,或者一个完全不一样的完整的URL,我们需要将responseMode设为Redirect。
<httpErrors errorMode="Custom" existingResponse="Replace"><clear /><error statusCode="404" path="http://www.bing.com" responseMode="Redirect"/> </httpErrors>
现在通过不同的URL来看两者的区别
给Web应用定义如下配置
<system.web><customErrors mode="On" defaultRedirect="Error.html"><error statusCode="403" redirect="/Error403" /><error statusCode="404" redirect="/Error404" /><error statusCode="500" redirect="/Error500" /></customErrors> </system.web> <system.webServer><httpErrors errorMode="Custom" existingResponse="Auto" defaultResponseMode="ExecuteURL" ><remove statusCode="403"/><remove statusCode="404"/><remove statusCode="500"/><error statusCode="403" responseMode="ExecuteURL" path="/Error403" /><error statusCode="404" responseMode="ExecuteURL" path="/Error404" /><error statusCode="500" responseMode="ExecuteURL" path="/Error500" /></httpErrors> </system.webServer>
现在如果尝试访问以下链接,将会产生对应的错误
URL | Error | StatusCode |
/aaaaaa | httpErrors | 404 |
/aaaaaa.aspx | customErrors | 404 |
/aaaaaa.jpg | httpErrors | 404 |
/throw500.apx | customErrors | 500 |
/throw500 | customErrors | 500 |
注:
- 一般情况 customErrors标签上的model属性设为RemoteOnly,httpErrors上的errorModel设为DetailedLocalOnly
- 如果你将某个页面的StatusCode设为500,不要忘了设置如下属性
context.Response.TrySkipIisCustomErrors = true;
相关参考:
Custom 404 and error pages in ASP.NET
IIS.NET HTTP Errors
转载于:https://www.cnblogs.com/TiestoRay/p/4723996.html
Asp.Net customErrors与httpErrors的区别相关推荐
- Asp.Net customErrors与httpErrors的区别 先看一下简单的对比
[转]Asp.Net customErrors与httpErrors的区别 https://www.cnblogs.com/TiestoRay/p/4723996.html 先看一下简单的对比 cus ...
- customErrors和httpErrors的区别
一.对比 customErrors 用于捕捉ASP.NET触发的错误,静态html页面或目录不存在等错误,不会被捕捉到. httpErrors 用于捕捉IIS触发的错误,IIS7+版本才支持. 二.配 ...
- web.config中customErrors与httpErrors的区别
打开IIS,我们发现会有两个处理错误页的地方,见下图: 进行不同的设置之后,我们发现设定结果会反应在web.config: .NET Error Pages设定被写入system.web/custom ...
- customErrors及httpErrors配置
先看正确配置例子: customErrors和httpErrors的区别: Https//blog.csdn.net/a497785609/article/details/78949729
- 新建网站与新建Asp.Net Web 应用程序的区别
今天新建网站的时候,发现,原来新建网站有两种方法. 1.原来一直用的是直接新建---网站 然后添加后解决方案的项目名称是路径的名称 2.还有一种是新建--项目,然后选web--新建asp.net.we ...
- VS“新建网站”与“新建Asp.Net Web 应用程序”的区别
今天新建网站的时候,发现,原来新建网站有两种方法. 1.原来一直用的是直接新建---网站 然后添加后解决方案的项目名称是路径的名称 2.还有一种是新建--项目,然后选web--新建asp.net.we ...
- 新建网站与新建Asp.Net+Web+应用程序的区别
VS2005 VS2008新建网站--asp.net网站和新建项目里ASP.NET Web应用程序区别 WebApplication编程模型的优点: ●网站编译速度快,使用了增量编译模式,仅仅只有文件 ...
- asp中sub与function的区别
函数允许带个返回值,过程没有. 返回值可以给其它变量赋值,比如有这么一个函数: function test(a,b)test = a * b end functiona = 12 b = 14 c = ...
- asp jsp cgi php之间的区别和优点
就我个人的意见,PHP只适合做小型的网站开发,大型的站点就很困难了(能做,但是很痛苦!) 扩充性: 1.PHP用光了自己的一堆函数以后,要扩充似乎是很困难的.据我一位玩PHP和c比较好的朋友说,&qu ...
最新文章
- 曾捡破烂为生,穷到没饭吃,现在身家395亿,给员工发3亿年终奖!
- 投资的境界:及时抓住机会或止损才是硬道理
- 解决ssh远程连接错误问题
- 人工智能在视频应用领域的探索
- 43行代码AC_HDU-2604 Queuing(矩阵快速幂,附详细的知识讲解、模板例题)
- Java应用集群下的定时任务处理方案(mysql)
- Android 系统(16)---应用启动过程
- Go 语言学习总结(5)—— Go 学习笔记总结
- Java单例模式实现(线程安全)
- Python函数参数的值传递机制
- 二十、对象的引用与传递
- [插件使用] 介绍与使用番茄助手
- 音频参数测试软件,音频测试参数详解.doc
- 乐播投屏总是自动断开_乐播投屏- 投屏常见问题 投屏在线客服
- 卸载计算机更新程序包,KB4343669更新包无法卸载的解决方案
- 文件夹目录下所有的视频使用ffmpeg指定位置截图
- 南昌大学计算机考研2021,2021南昌大学考研参考书目
- 7-2 计算Fibonacci数列的前N(N<=20)项 (10 分)
- 信息论与编码-python实现三种编码(香农编码,费诺编码,赫夫曼编码)
- ResponseResult
热门文章
- Protocol Buffer入门——轻松搭建java环境 .
- 为什么晚上咳嗽很厉害
- simple2.py
- Java---设计模块(单例的变形)(多例)
- shtml网页SSI使用详解
- pipenv 虚拟环境新玩法
- 原生js的ajax请求
- D04——C语言基础学PYTHON
- Oracle分析函数-rank() over(partition by...order by...)
- Spring Boot 静态资源映射与上传文件路由配置