首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >existingResponse="PassThrough“在IIS中是什么意思?

existingResponse="PassThrough“在IIS中是什么意思?
EN

Stack Overflow用户
提问于 2015-06-25 03:22:50
回答 1查看 27K关注 0票数 37

文件上说

existingResponse="PassThrough" 如果存在现有响应,则保持响应不变。http://www.iis.net/configreference/system.webserver/httperrors#005

但这意味着“现有的反应存在”是什么意思呢?

例如,我希望我的customErrors处理程序能够抑制ASP.NET响应,这样IIS就会认为这个响应不存在。我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-25 05:13:02

模式中有三个可能的值:

代码语言:javascript
运行
复制
<attribute name="existingResponse" type="enum" defaultValue="Auto">
  <enum name="Auto" value="0" />
  <enum name="Replace" value="1" />
  <enum name="PassThrough" value="2" />
</attribute>

粗略地说,我是如何理解这一点的:

PassThrough --只要有响应,就不使用现有的响应。您的应用程序逻辑可能不会返回任何内容。在这种情况下,将使用此处定义的错误页。

Auto -使用此节点中定义的IIS错误页,但在asp.net中设置的除外:

代码语言:javascript
运行
复制
Response.TrySkipIisCustomErrors = true;

如果您已经这样做了,则使用来自代码的响应。

替换--即使开发人员设置了TrySkipIisCustomErrors,也总是使用IIS页面。

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

编辑:

考虑:

代码语言:javascript
运行
复制
existingResponse="PassThrough"

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

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

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

改为:

代码语言:javascript
运行
复制
existingResponse="Auto"

缺少的asp.net页仍然显示asp.net错误页,但是对于缺少的html页面,我们现在得到了IIS:

因此,总结一下:当查看缺少的具有不同existingResponse值的html和aspx页面时,我们得到了不同的错误页面:

代码语言:javascript
运行
复制
                .html-404   .aspx-404   .aspx-500
--------------------------------------------------
Auto             IIS         asp.net    asp.net
PassThrough      -           asp.net    asp.net
Replace          IIS         IIS        IIS
票数 61
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31040671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档