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

Kestrel + IIS Reverse Proxy RequestAborted Not Triggered

我们有一个 ASP.NET 核心 2.x 应用程序,它实现自定义中间件,充当另一个(Java 基础)server/application 前面的代理。此 application/middleware 的客户端在服务器请求完成之前经常 abort/cancel 他们的请求是很常见的。

我们已将此应用程序部署到 IIS(作为反向代理)并 运行 在 Kestrel 上。 Prior to Core 2.x Kestrel had a bug that caused HttpContext.RequestAborted to always be false (other related question )...这显然已在 2.x 中修复(我已经能够确认)。

但是,当 运行 IIS 在 Kestrel 前面时,它不会将请求中止转发给 Kestrel,并且 RequestAborted 仍然是 总是false

有什么方法可以让 RequestAborted 在此配置下工作(或者如果没有,可以通过任何其他方式检测它)?

简单复制回购:https://github.com/mikeomeara1/RequestAbortRepro

更新

This Comment 似乎表明存在已知问题,但很大程度上不清楚

This Question 似乎也相关,但对我来说,它不是直接相关的(至少没有用这样的术语详细说明)。

@spender - 如果我没理解错的话,header 比较是 here。如果没有,告诉我,你想看什么我都会给你。

看来茶叶表明存在已知问题。所以,问题是;有没有办法解决这个问题?我们刚刚经历了(一个非常痛苦的)1.1 到 2.x 的升级,希望这个问题能够得到解决,让我们的服务器为另一个 month/quarter/year 颠簸让我们在这一点上非常担心。我们正在开发的系统正在大大增加容量。

因此,欢迎任何解决方法、技巧或疯狂的想法。

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