小编mik*_*keo的帖子

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

我们有一个 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

更新

此评论似乎表明了一个已知问题,但在多大程度上尚不清楚

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

@spender - 如果我理解正确,标题比较在这里。如果没有,请告诉我,你想看什么我都给你。

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

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

c# iis kestrel-http-server asp.net-core

5
推荐指数
1
解决办法
859
查看次数

标签 统计

asp.net-core ×1

c# ×1

iis ×1

kestrel-http-server ×1