Запрос обратного прокси-сервера Kestrel + IISAborted Not Triggered - PullRequest
0 голосов
/ 01 мая 2018

У нас есть приложение ASP.NET Core 2.x, которое реализует пользовательское промежуточное ПО, которое действует как прокси перед другим (на основе Java) сервером / приложением. Обычно клиенты этого приложения / промежуточного программного обеспечения часто прерывают / отменяют свой запрос до того, как запрос сервера будет выполнен.

Мы развернули это приложение на IIS (в качестве обратного прокси-сервера) и работаем на Kestrel. До Core 2.x в Kestrel была ошибка, из-за которой HttpContext.RequestAborted всегда был false (другой связанный вопрос здесь ) ..., который, по-видимому, был исправлен в 2.x (что я смог подтвердить).

Однако, похоже, что при запуске IIS перед Kestrel он не перенаправляет запрос на прерывание через Kestrel, и RequestAborted равно все еще всегда false

Есть ли способ заставить RequestAborted работать в этой конфигурации (или любой другой способ обнаружить его, если нет)?

Простая репродукция репо: https://github.com/mikeomeara1/RequestAbortRepro

UPDATE

Этот комментарий , кажется, указывает на известную проблему, но в значительной степени неясно, в какой степени

Этот вопрос , похоже, также связан, но опять же для меня не совсем очевидно, что он напрямую связан (по крайней мере, в таких терминах он не прописан).

@ spender - Если я вас правильно понял, сравнение заголовков здесь . Если нет, дайте мне знать, я дам вам все, что вы хотите увидеть.

Кажется, чайные листья указывают на известную проблему. Итак, вопрос в том; Есть ли способ обойти это? Мы только что прошли (очень болезненное) обновление 1.1 до 2.x в надежде на то, что эта проблема будет решена, и позволить нашему серверу работать в течение еще одного месяца / квартала / года - нас это очень беспокоит. Система, над которой мы работаем, значительно расширяется.

Итак, любые обходные пути, взломы или сумасшедшие идеи приветствуются.

1 Ответ

0 голосов
/ 26 июля 2018

Это известная проблема, которая еще не устранена. Смотри https://github.com/aspnet/AspNetCoreModule/issues/38

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...