Остановите длительный процесс в webapi извне - PullRequest
0 голосов
/ 13 сентября 2018

Я выполняю результат действия LongRunningProcess, используя код веб-клиента, в любом случае, чтобы остановить выполнение процесса извне, а не останавливать его в iis?

 public IHttpActionResult LongRunningProcess()
        {
            for (int i = 0; i < 5000000; i++)
            {
                Thread.Sleep(1000);
            }
            return Json("Completed");
        }



 using (WebClient wc = new WebClient())
                {
  string myParameters = "";
  wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
  string HtmlResult =await wc.UploadStringTaskAsync("http://...../LongRunningProcess", myParameters);
                }

1 Ответ

0 голосов
/ 13 сентября 2018

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

Сделать LongRunningProcess периодически проверять флаг на основе базы данных.Если этот флаг установлен, выйдите из LongRunningProcess.Затем вы можете выполнить другое действие, чтобы установить этот флаг (возможно, нажатием кнопки).

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