Когда могут отказаться от того, могут быть ложным?
-
27-09-2019 - |
Вопрос
Документация включена CancellationToken.CanBeCanceled
Описывает, что это делает, но не упоминается, когда он может быть ложным. Следовательно, мне не совсем понятно, когда я должен обратить внимание на это свойство.
В каких обстоятельствах это может быть ложным и когда я должен посмотреть на это?
Решение
Хорошо, CancellationToken.none. Возвращает тот, который не отменен.
Если вы являетесь пользователем API, который настаивает на получении CANCELLATIONTAKED, но вы не заинтересованы в том, чтобы когда-либо пытались отменить работу, то вы могли бы просто передать этот токен.
Как кто-то строительство API, вы можете сделать определенные оптимизации, если Canbecancelled возвращает false - возможно, это «дорого» для вас, чтобы проверить имущество IscancellationRequest.
Другие советы
Например, когда «весь» код ASYNC-метода является вызова одним способом на удаленном компьютере (например, сервере), который не может быть отменен (удаленный аппарат не предоставляет, как отменить это). Тогда задача не может быть отменена -> Задача может быть только завершена (или бросить исключение).