2015-03-27 2 views
0

Я хочу реализовать операцию отмены или отмены импорта файла в C#. Я использую ниже код для достижения этой цели -Отменить операцию импорта файла в C#

CancellationTokenSource ctokensource; 
      if (_importtasks.TryGetValue(Convert.ToInt32(jobHistoryRecno), out ctokensource)) 
       ctokensource.Cancel(); 

Несмотря на то, что выполнение выше функции успешно, он не может отменить задание. все еще импорт продолжается.

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

С уважением Раджив Кумар

ответ

0

Cancel просто сообщает прилагается маркер (который вы можете получить с CancellationTokenSource.Token собственности) об отмене. Вы должны отменить свою операцию вручную, либо проверив CancellationToken.IsCancellationRequested, либо вызвав CancellationToken.ThrowIfCancellationRequested(), второй метод следует использовать, если операция завершена Task. Также вы можете зарегистрировать необходимый обратный вызов с помощью метода CancellationToken.Register, который будет выполнен при запросе на отмену.

Смежные вопросы