Приложений IIS HTTP метод перестает работать - PullRequest
0 голосов
/ 06 июня 2019

У меня есть веб-приложение на сервере IIS.

У меня есть метод POST, который требует много времени (около 30-40 минут).

Через некоторое время приложение перестает работать (без каких-либо исключений).

Я установил Idle timeout на 0, и мне это не помогло.

Что я могу сделать, чтобы решить это?

1 Ответ

0 голосов
/ 06 июня 2019

Вместо того, чтобы выполнять всю работу, инициированную запросом, прежде чем ответить вообще:

  1. Получите запрос
  2. Поместите информацию в запрос в очередь (которой вы можете управлятьс таблицей базы данных, ZeroMQ или чем-либо еще, что вам нравится)
  3. Ответьте сообщением «Запрос получен».

Таким образом, вы отвечаете в течение нескольких секунд, что приемлемо для HTTP.

Затем попросите отдельный процесс отслеживать очередь и обрабатывать данные в ней (продолжительностью 30-40 минут).работа).Когда работа будет завершена, уведомите пользователя.

Вы можете сделать это через браузер с Уведомлением или через WebSocket или использовать совершенно другой механизм (например,как, отправив электронное письмо пользователю, который сделал запрос).

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