先看一下简单的对比

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

  1. 一般情况 customErrors标签上的model属性设为RemoteOnly,httpErrors上的errorModel设为DetailedLocalOnly
  2. 如果你将某个页面的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的区别相关推荐

  1. Asp.Net customErrors与httpErrors的区别 先看一下简单的对比

    [转]Asp.Net customErrors与httpErrors的区别 https://www.cnblogs.com/TiestoRay/p/4723996.html 先看一下简单的对比 cus ...

  2. customErrors和httpErrors的区别

    一.对比 customErrors 用于捕捉ASP.NET触发的错误,静态html页面或目录不存在等错误,不会被捕捉到. httpErrors 用于捕捉IIS触发的错误,IIS7+版本才支持. 二.配 ...

  3. web.config中customErrors与httpErrors的区别

    打开IIS,我们发现会有两个处理错误页的地方,见下图: 进行不同的设置之后,我们发现设定结果会反应在web.config: .NET Error Pages设定被写入system.web/custom ...

  4. customErrors及httpErrors配置

    先看正确配置例子: customErrors和httpErrors的区别: Https//blog.csdn.net/a497785609/article/details/78949729

  5. 新建网站与新建Asp.Net Web 应用程序的区别

    今天新建网站的时候,发现,原来新建网站有两种方法. 1.原来一直用的是直接新建---网站 然后添加后解决方案的项目名称是路径的名称 2.还有一种是新建--项目,然后选web--新建asp.net.we ...

  6. VS“新建网站”与“新建Asp.Net Web 应用程序”的区别

    今天新建网站的时候,发现,原来新建网站有两种方法. 1.原来一直用的是直接新建---网站 然后添加后解决方案的项目名称是路径的名称 2.还有一种是新建--项目,然后选web--新建asp.net.we ...

  7. 新建网站与新建Asp.Net+Web+应用程序的区别

    VS2005 VS2008新建网站--asp.net网站和新建项目里ASP.NET Web应用程序区别 WebApplication编程模型的优点: ●网站编译速度快,使用了增量编译模式,仅仅只有文件 ...

  8. asp中sub与function的区别

    函数允许带个返回值,过程没有. 返回值可以给其它变量赋值,比如有这么一个函数: function test(a,b)test = a * b end functiona = 12 b = 14 c = ...

  9. asp jsp cgi php之间的区别和优点

    就我个人的意见,PHP只适合做小型的网站开发,大型的站点就很困难了(能做,但是很痛苦!) 扩充性: 1.PHP用光了自己的一堆函数以后,要扩充似乎是很困难的.据我一位玩PHP和c比较好的朋友说,&qu ...

最新文章

  1. 曾捡破烂为生,穷到没饭吃,现在身家395亿,给员工发3亿年终奖!
  2. 投资的境界:及时抓住机会或止损才是硬道理
  3. 解决ssh远程连接错误问题
  4. 人工智能在视频应用领域的探索
  5. 43行代码AC_HDU-2604 Queuing(矩阵快速幂,附详细的知识讲解、模板例题)
  6. Java应用集群下的定时任务处理方案(mysql)
  7. Android 系统(16)---应用启动过程
  8. Go 语言学习总结(5)—— Go 学习笔记总结
  9. Java单例模式实现(线程安全)
  10. Python函数参数的值传递机制
  11. 二十、对象的引用与传递
  12. [插件使用] 介绍与使用番茄助手
  13. 音频参数测试软件,音频测试参数详解.doc
  14. 乐播投屏总是自动断开_乐播投屏- 投屏常见问题 投屏在线客服
  15. 卸载计算机更新程序包,KB4343669更新包无法卸载的解决方案
  16. 文件夹目录下所有的视频使用ffmpeg指定位置截图
  17. 南昌大学计算机考研2021,2021南昌大学考研参考书目
  18. 7-2 计算Fibonacci数列的前N(N<=20)项 (10 分)
  19. 信息论与编码-python实现三种编码(香农编码,费诺编码,赫夫曼编码)
  20. ResponseResult

热门文章

  1. Protocol Buffer入门——轻松搭建java环境 .
  2. 为什么晚上咳嗽很厉害
  3. simple2.py
  4. Java---设计模块(单例的变形)(多例)
  5. shtml网页SSI使用详解
  6. pipenv 虚拟环境新玩法
  7. 原生js的ajax请求
  8. D04——C语言基础学PYTHON
  9. Oracle分析函数-rank() over(partition by...order by...)
  10. Spring Boot 静态资源映射与上传文件路由配置