加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – HttpError iis config在添加默认路径时抛出异常

发布时间:2020-12-16 04:17:39 所属栏目:asp.Net 来源:网络整理
导读:我有这个配置工作,并正确重定向以下错误 httpErrors errorMode="Custom" existingResponse="Replace" defaultResponseMode="ExecuteURL" remove statusCode="403" / remove statusCode="404" / remove statusCode="500" / error statusCode="403" responseMo
我有这个配置工作,并正确重定向以下错误
<httpErrors errorMode="Custom" 
        existingResponse="Replace" 
        defaultResponseMode="ExecuteURL" >
  <remove statusCode="403" />
  <remove statusCode="404" />
  <remove statusCode="500" />
  <error statusCode="403" responseMode="ExecuteURL" path="/Error/AccessDenied" />
  <error statusCode="404" responseMode="ExecuteURL" path="/Error/PageNotFound" />
  <error statusCode="500" responseMode="ExecuteURL" path="/Error/ApplicationError" />
</httpErrors>

但是当我添加以下默认路径以尝试添加catch all时

<httpErrors errorMode="Custom" 
        existingResponse="Replace" 
        defaultResponseMode="ExecuteURL" 
        defaultPath="/Error/ApplicationError">

服务器抛出web.config错误

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.
Module     CustomErrorModule

现在这与documentation on msdn直接矛盾

任何帮助将不胜感激!!

解决方法

使用defaultPath属性可防止在错误节点中使用path属性.所以下面的配置会起作用(但是当然它会为这里定义的所有HTTP错误显示相同的错误页面):
<httpErrors errorMode="Custom" existingResponse="Replace"
  defaultResponseMode="ExecuteURL" defaultPath="/Error/ApplicationError">
  <remove statusCode="403" />
  <remove statusCode="404" />
  <remove statusCode="500" />
  <error statusCode="403" responseMode="ExecuteURL" />
  <error statusCode="404" responseMode="ExecuteURL" />
  <error statusCode="500" responseMode="ExecuteURL" />
</httpErrors>

相关文档:https://msdn.microsoft.com/en-us/library/ms690576(v=vs.90).aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读