Kestrel + IIS 反向代理请求中止未触发

2024-05-08

我们有一个 ASP.NET Core 2.x 应用程序,它实现了自定义中间件,充当另一个(基于 Java 的)服务器/应用程序前面的代理。此应用程序/中间件的客户端通常会在服务器请求完成之前频繁中止/取消其请求。

我们已将此应用程序部署到 IIS(作为反向代理)并在 Kestrel 上运行。在 Core 2.x 之前,Kestrel 有一个错误,导致HttpContext.RequestAborted永远是false https://github.com/aspnet/KestrelHttpServer/issues/1139(其他相关问题here https://stackoverflow.com/questions/39574061/httprequest-not-aborted-cancelled-on-browser-abort-in-asp-net-core-mvc)...这显然在 2.x 中已修复(我已经能够确认)。

但是,当在 Kestrel 前面运行 IIS 时,它似乎不会将请求中止转发给 Kestrel,并且RequestAborted is still always false

有什么办法可以得到RequestAborted在此配置中工作(或任何其他方式来检测它,如果没有)?

简单的复制仓库:https://github.com/mikeomeara1/RequestAbortRepro https://github.com/mikeomeara1/RequestAbortRepro

UPDATE

此评论 https://github.com/aspnet/KestrelHttpServer/issues/1139#issuecomment-258281409似乎表明存在一个已知问题,但目前尚不清楚其程度

这个问题 https://github.com/aspnet/AspNetCoreModule/issues/38似乎也相关,但对我来说,它并不完全明显,它是直接相关的(至少没有用这样的术语阐明)。

@spender - 如果我理解正确的话,标题比较是here https://gist.github.com/mikeomeara1/b2bf4f18099c8705471b7f895c7cc0fb。如果没有,请告诉我,我会给你任何你想看的东西。

茶叶似乎表明存在一个已知问题。所以,问题是;有办法解决这个问题吗?我们刚刚经历了(非常痛苦的)1.1 到 2.x 的升级,希望这个问题能够得到解决,而让我们的服务器再运行一个月/一个季度/一年让我们非常担心。我们正在开发的系统的体积正在大大扩大。

因此,任何变通办法、黑客或疯狂的想法都是受欢迎的。


这是已知问题,尚未修复。看https://github.com/aspnet/AspNetCoreModule/issues/38 https://github.com/aspnet/AspNetCoreModule/issues/38

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

Kestrel + IIS 反向代理请求中止未触发 的相关文章

随机推荐

  • 工作站和嵌入式程序员之间的心态差异[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Numpy 的舍入方式与 Python 不同

    The code import numpy as np a 5 92270987499999979065 print round a 8 print round np float64 a 8 gives 5 92270987 5 92270
  • Linux 命令行工具验证 XSD 1.1?

    是否有任何命令行工具可以根据 XSD 版本验证 XML1 1 Xmllint https en wikipedia org wiki Libxml2不验证版本 1 1 我在 Xerces J 周围找到了一个方便的包装 https www d
  • 在 OrderedDict 中如何按特定属性排序? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我正在尝试通过执行以下操作对以下 OrderedDict 进行排序 gt gt gt gt from collectio
  • AVSpeechUtterance 最大音量非常安静且速率非常快

    我正在考虑向我的应用程序添加语音提示 并在 iOS 7 中测试 AVSpeechUtterance 但默认语音速率非常快 最低语速更容易理解 但是最大音量值1太安静了 我在 iPhone 4 上进行了测试 并将音量调到最大 一定是出了什么问
  • 如何分析Android应用程序的电池使用情况并对其进行优化?

    我想分析我的应用程序的电池使用情况 我的意思是应用程序的各个部分 例如 广播接收器 监听器 服务等 使用多少电池 我需要一个详细的列表 从列表中 我想优化电池的使用 方法与使用内存分析器类似 http android developers
  • 如何通过反射访问抽象父类中的实例字段?

    所以 举例来说 StringBuilder继承自抽象类AbstractStringBuilder 据我了解 StringBuilder本身没有字段 除了serialVersionUID 相反 它的状态由以下字段表示AbstractStrin
  • Android 搜索界面未提交查询

    我按照官方教程实现了一个搜索界面 搜索小部件 搜索界面 http developer android com training search setup html密切 一切看起来都不错 但我无法提交搜索查询 当我单击键盘上的 发送 按钮时
  • Python PIL 由于某种原因无法打开 PDF

    所以我的程序能够打开 PNG 但不能打开 PDF 所以我这样做只是为了测试 但它仍然无法打开 甚至是一个简单的 PDF 我不知道为什么 from PIL import Image with Image open r Adams K a pd
  • Webpack 加载器与插件;有什么不同?

    webpack 中的加载器和插件有什么区别 The 插件文档 https webpack github io docs using plugins html只是说 使用插件添加通常与 webpack 中的捆绑包相关的功能 我知道 babel
  • Angular 2 的最佳模块加载器? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我已经使用了 JavaScript 和 Angular JS 1 AMD requireJS Brow
  • 尝试从 Tizen SDK 启动 Tizen 手表应用程序时出现“安装或卸载暂时不起作用”错误

    当尝试从 Tizen IDE 启动本机手表应用程序时 我看到奇怪的消息 某些应用程序类别 例如 手表应用程序 无法通过 运行方式 启动 事实上 我尝试使用项目本地菜单中的运行方式来启动我的应用程序 但是我还应该如何在模拟器上启动我的应用程序
  • 如何确定服务器端的浏览器窗口大小 C#

    如何获取当前打开的浏览器屏幕窗口的准确高度和宽度 您可以使用 Javascript 来获取视口的宽度和高度 然后通过隐藏表单输入或 ajax 将值传回 最简单的 var width window width var height windo
  • sed 仅最后一个匹配模式

    我想sed仅文本文件的最后一个匹配模式 输入文件 boy boy girl boy 输出文件 boy boy girl boys 一种方法是反转文件 仅替换第一个匹配项 然后再次反转 tac
  • Mathjax Latex 符号正方形和三角形大小

    我有一个使用 MathJax 来显示一些乳胶的应用程序 它显示大多数内容都很好 但是当我想用命令显示正方形时 square 我正在尝试这个乳胶代码作为测试 triangle Box square bigtriangleup blacksqu
  • AVFoundation (AVPlayer) 支持的格式?没有 .vob 或 .mpg 容器?

    在 Mac 应用程序中使用 AVPlayer 可以全屏播放文件夹中的随机视频 但当我尝试播放 vob 文件或 mpg 文件时 我只会看到黑屏 黑屏的持续时间与视频持续时间一样长 AVFoundation 不支持从这些容器播放吗 我认为既然它
  • 如何在 HERE API 中获取速度限制

    我正在开发一个网络应用程序 我需要知道特定道路的速度限制 对 API 的调用看起来是这样的 get http cre api here com 2 calculateroute json waypoint0 41 69758 87 7839
  • PHP memcache - 检查池中是否有可用的服务器?

    我有以下代码 cluster local array host gt 192 168 1 1 port gt 11211 weight gt 50 cluster local2 array host gt 192 168 1 2 port
  • 在 Excel 2010 中添加基本功能区的 VBA 代码?

    我已经使用产品在 C addin express 中为 Excel 编写功能区 但我需要知道如何使用 vba 生成功能区 有人能为我提供一些代码来为此在工具栏中插入一个额外的功能区吗 我所说的功能区是指上面写着 公式 数据 评论 等的地方
  • Kestrel + IIS 反向代理请求中止未触发

    我们有一个 ASP NET Core 2 x 应用程序 它实现了自定义中间件 充当另一个 基于 Java 的 服务器 应用程序前面的代理 此应用程序 中间件的客户端通常会在服务器请求完成之前频繁中止 取消其请求 我们已将此应用程序部署到 I