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

asp.net – 在IIS中,existingResponse =“PassThrough”是什么意

发布时间:2020-12-16 00:45:25 所属栏目:asp.Net 来源:网络整理
导读:文件说 existingResponse="PassThrough" Leaves the response untouched if an existing response exists. 07000 但“存在的回应存在”是什么意思? 例如。我想要我的customErrors处理程序来抑制ASP.NET响应,所以IIS会认为响应不存在。我该怎么办? 解决方
文件说

existingResponse="PassThrough"

Leaves the response untouched if an existing response exists.
07000

但“存在的回应存在”是什么意思?

例如。我想要我的customErrors处理程序来抑制ASP.NET响应,所以IIS会认为响应不存在。我该怎么办?

解决方法

模式中有三个可能的值:
<attribute name="existingResponse" type="enum" defaultValue="Auto">
  <enum name="Auto" value="0" />
  <enum name="Replace" value="1" />
  <enum name="PassThrough" value="2" />
</attribute>

大概这是我怎么理解的:

PassThrough – 只要有一个,只留下现有的回应。您的应用程序逻辑可能不返回任何内容。在这种情况下,使用这里定义的错误页面。

自动 – 使用此节点中定义的IIS错误页面,除非在asp.net中设置:

Response.TrySkipIisCustomErrors = true;

如果你这样做,你的代码的响应就被使用了。

替换 – 始终使用IIS错误页面,即使开发人员设置了TrySkipIisCustomErrors。

最后一个选项似乎是你想要的。

编辑:

考虑:

existingResponse="PassThrough"

现在尝试打开一个不存在的asp.net页面,你会看到:

即使资源不在,运行时提供了一个响应,它被传递到浏览器。

现在,尝试打开一个不存在的html页面。这一次我们仍然会获得404状态,但是仍然是一个空白的页面。

改为:

existingResponse="Auto"

缺少的asp.net页面仍然显示asp.net错误页面,但是对于缺少的html页面,我们现在可以获得IIS一个:

所以,总结一下:当看到缺少html和aspx页面不同的时候
existingResponse值,我们得到不同的错误页面:

.html-404   .aspx-404   .aspx-500
--------------------------------------------------
Auto             IIS         asp.net    asp.net
PassThrough      -           asp.net    asp.net
Replace          IIS         IIS        IIS

(编辑:李大同)

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

    推荐文章
      热点阅读