Kestrel + IIS反向代理RequestAborted未触发

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

我们已将此应用程序部署到IIS(作为反向代理)并在Kestrel上运行。 在Core 2.x之前,Kestrel有一个错误,导致HttpContext.RequestAborted始终为false ( 这里有其他相关问题)……这显然是在2.x中固定的(我已经能够确认)。

但是,似乎在Kestrel前面运行IIS时,它不会将请求中止转发到Kestrel,而RequestAborted 仍然总是为false

是否有任何方法可以使RequestAborted在此配置中工作(或者,如果没有,还是以其他任何方式检测它)?

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

UPDATE

这个评论似乎表明了一个已知的问题,但在很大程度上还不清楚

这个问题似乎也是相关的,但对我来说,它并不完全明显,它是直接相关的(至少它没有用这样的术语拼写)。

@spender – 如果我理解正确,标题比较就在这里 。 如果没有,请告诉我,我会告诉你任何你想看的东西。

茶叶似乎表明了一个已知的问题。 所以,问题是; 有办法解决这个问题吗? 我们刚刚经历了(一次非常痛苦的)1.1到2.x的升级,希望这个问题得到解决,让我们的服务器闯入另一个月/季度/年让我们非常关注这一点。 我们正在研究的系统在数量上大大增加。

因此,欢迎任何变通方法,黑客或疯狂的想法。

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