IIS7 和 HTTP 状态代码处理

2024-04-26

我因试图对 IIS7(集成模式)中的错误呈现进行完整的编程控制而感到非常头疼。我想要做的是给出一个错误(找不到页面、内部服务器错误、未经过身份验证等),将整个请求传输到自定义 ASPX 或 HTML(我更喜欢后者),并使用正确的 HTTP 状态代码。

我想要的是 IIS7 不关心我设置的 HTTP 状态代码。我不想要它的错误处理。当我设置Response.StatusCode = (int)HttpStatusCode.NotFound,我想要的不是IIS渲染自己的错误页面,而是也许将请求转移到另一个文件。

我已经让这个静态配置可以工作了:

<configuration>
  <system.webServer>
    <httpErrors>
      <clear />
      <error statusCode="404" path="/errors/404.html" responseMode="ExecuteURL" />
    </httpErrors>
  </system.webServer>
</configuration>

虽然这有效,但在给定错误情况下,它无法让我以编程方式控制如何处理响应。配置是一个很好的后备,但我真的希望能够设置Response.StatusCode并呈现与配置完全不同的东西404.html在某些情况下(例如,如果我们收到 JSON 响应Accept: application/json),但 IIS7 不允许我这样做。没有机会。

那么我到底该怎么办呢?我尝试过设置HttpResponse.TrySkipIisCustomErrors Property http://msdn.microsoft.com/en-us/library/system.web.httpresponse.tryskipiiscustomerrors.aspx,但这看起来像是一个巨大的黑客攻击,而且似乎并不能始终如一地工作。将此属性设置为 true 真的是获得我想要的行为的推荐最佳实践吗?

此刻我的感受就是对IIS7的强烈厌恶。任何人都可以通过证明我只是愚蠢并且我确实可以完全控制 HTTP 堆栈来帮助我解决这个问题吗?


看看以下内容:IIS7 在设置 Response.StatusCode 时覆盖 customErrors? https://stackoverflow.com/questions/434272/iis7-overrides-customerrors-when-setting-response-statuscode.

你需要设置

  <system.webServer>
    <httpErrors existingResponse="PassThrough" />
  </system.webServer>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IIS7 和 HTTP 状态代码处理 的相关文章

随机推荐

  • 使用Bundle传递数据时出现空指针异常

    我有一个浮点数组camObjCoord宣告为 public static float camObjCoord new float 8000 然后我在一个类中填充它的索引 该类执行如下操作 camObjCoord 1 2 5 然后我打电话ma
  • 更改 UIWebView 的文本颜色

    我正在制作一个 epub 阅读器 我将 HTML 页面加载到其中webview webview loadRequest NSURLRequest requestWithURL NSURL fileURLWithPath pagesPath
  • glibc 已弃用的 __malloc_hook 功能的替代方案

    我正在为 C 编写一个内存分析器 并为此拦截对malloc realloc and free通过 malloc hooks 函数 不幸的是 这些已被弃用 因为它们在多线程环境中表现不佳 我找不到描述实现相同目标的替代最佳实践解决方案的文档
  • 如何在 Plotly 中旋转绘图的轴?

    我在 Plotly 中完成了以下情节 如您所见 X Y 轴采用传统方式 如何旋转轴 使 X 垂直绘制 Y 水平绘制 向左 我还想修改每个轴的范围和间距 我想它必须对布局元素做一些事情 我的代码到目前为止 layout go Layout t
  • 如何使用 OAuth 2.0 实现 Web 小部件

    我想创建一个 Web 小部件来显示我网站上的信息 该小部件将使用 JavaScript 包含在客户网站的 HTML 中 并且只能用于我的客户 在我的网站上注册的网站 小部件中的信息应该特定于当前正在访问客户站点的用户 因此 我需要对客户端
  • Paint.getTextWidths。什么是提前宽度?

    什么是提前宽度 该术语出现在 android 类中Paint 具体来说是函数getTextWidths 文档指出 返回字符串中字符的提前宽度 什么是 提前宽度 前进宽度是与字体 版式相关的度量术语 这里有一些关于 SO 的问答涵盖了它 但简
  • 在 BHO 中检测页面刷新

    页面刷新 F5 后 IE 不会触发 DocumentComplete 和 NavigateComplete2 事件 这显然是 设计使然 但它使得响应页面重新加载变得困难 哪些方法取得了最大的成功 有什么注意事项 谢谢 没有直接的方法 很难跨
  • 透明卡片,但具有仰角阴影效果

    我在制作透明白色卡片 不透明度 0 4 时遇到问题 但是 带有来自高程效果的阴影 如果我删除高程 则不会有阴影效果 并且卡片看起来是透明的 但是 如果我添加一些高度 透明效果就会被破坏 这是我尝试过的 Widget cardMenu Str
  • Visual Studio Code 不建议使用 Python 对象属性

    我使用添加了 Python 扩展的 VS Code v1 25 1 尽管它向我建议了库和类的属性和方法 即我输入from sklearn 它提出像这样的建议ensemble exception等等 当我生成 numpy 数组时x data
  • 如何从纯文本中查找键值存储中的值

    给定一个纯文本文件 其中包含 FOO foo BAR bar BAZ baz 我们如何grep使用键获取值 Use a 向后看 https regex101 com r q3FNpe 1 grep Po lt FOO w file foo
  • OpenCover 与 TFS 集成

    我是 TFS 新手 希望将 OpenCover 与 TFS 集成 如果有人这样做过 请帮忙 这个问题相当老了 但也许你仍然感兴趣 对于当前版本的 TFS 2015 Update 2 现在可以将其作为 vsts 扩展 详细信息请参见此处 ht
  • 如何使用唯一指针向量?

    I use vector
  • 如何将 URL 参数传递到 Wordpress 页面中的 iFrame?

    WordPress 3 2 1 我有一个页面 其中嵌入了外部页面的 iframe 即在 WP 页面中我有以下代码 我可以动态设置外部网站源吗 通过 URL 参数 假设上面的页面是http mysite com myiframe page h
  • AVMutableVideoComposition 内的交叉淡入淡出

    我已经成功地用多个视频剪辑组成了一个 AVMutableComposition 并且可以查看和导出它 并且我希望能够使用交叉淡入淡出在它们之间进行转换 所以我想使用 AVMutableVideoComposition 我找不到任何关于如何连
  • 同一活动的多个通知

    我有一个正在从通知栏打开的活动 但是当我这样做时NotificationManager notify 我给意图一个不同的捆绑 以便每个通知打开相同的活动 但从数据库中获取彼此的其他信息 但是 当我尝试输入任何通知 例如有 3 个通知 时 它
  • C/C++ 有哪些突变测试框架?

    突变测试 https secure wikimedia org wikipedia en wiki Mutation testing已经出现有一段时间了 似乎至少有一两个针对 C C 的商业突变测试框架 你用过它们吗 你有什么经历 有没有开
  • 根据 1 的数量查找数字的排名

    令 f k y 其中 k 是非负整数递增序列中的第 y 个数 其二进制表示形式中的 1 数量与 k 相同 例如f 0 1 f 1 1 f 2 2 f 3 1 f 4 3 f 5 2 f 6 3 等等 给定 k gt 0 计算 f k 我们很
  • Google App Engine 电子邮件进入垃圾邮件文件夹

    当我使用邮件的 send mail 函数通过谷歌应用程序引擎发送电子邮件时 它们通常会被放置在收件人的 SPAM 文件夹中 虽然 GMail 帐户不会出现此问题 但 Yahoo Mail 帐户 可能还有其他几个帐户 会出现此问题 有没有办法
  • 将 JavaScript 中的大字符串与哈希进行比较

    我有一个带有文本区域的表单 其中可以包含使用多个第三方富文本编辑器之一编辑的大量内容 例如博客文章 我正在尝试实现类似自动保存功能的功能 如果内容发生更改 它应该通过ajax 提交内容 然而 我必须解决这样一个事实 我作为选项的一些编辑器不
  • IIS7 和 HTTP 状态代码处理

    我因试图对 IIS7 集成模式 中的错误呈现进行完整的编程控制而感到非常头疼 我想要做的是给出一个错误 找不到页面 内部服务器错误 未经过身份验证等 将整个请求传输到自定义 ASPX 或 HTML 我更喜欢后者 并使用正确的 HTTP 状态