Отмените долгосрочную задачу через WCF от клиента

У меня есть служба WCF для PerCall

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

Мой сервис WCF выглядит примерно так

 [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
    public class Service1 : IService1
    {

        CancellationTokenSource cancelToken = new CancellationTokenSource();



        public void Start()
        {

            var compute = Task.Factory.StartNew(StartLongRunningTask, cancelToken.Token);
        }

        public void Stop()
        {

            cancelToken.Cancel();
        }

            private void StartLongRunningTask()
            {
                  //process here

            }

}

Я предполагаю, что проблема здесь в том, что каждый раз, когда вызов поступает на сервер, он обрабатывается как новый запрос.

Итак, как сделать запуск и отмена долгосрочной задачи в WCF?

РЕДАКТИРОВАТЬ: я хостинг как служба Windows

Ответы на вопрос(2)

Ваш ответ на вопрос