2010-11-22 1 views

답변

8

글쎄, CancellationToken.None은 취소 할 수없는 것을 반환합니다.

CancellationToken 수신을 주장하는 API 사용자이지만 아직 작업 취소에 관심이 없다면이 토큰을 전달하면됩니다.

누군가가 건물 인 경우 API를 사용하면 CanBeCancelled가 false를 반환하는 경우 특정 최적화를 수행 할 수 있습니다. IsCancellationRequested 속성을 확인하기 위해 "비싼"값일 수 있습니다.

0

예를 들어 비동기 메서드의 "전체"코드가 취소 할 수없는 원격 컴퓨터 (예 : 서버)의 호출 방법 인 경우 (원격 컴퓨터는이를 제공하지 않습니다. 취소 방법). 그런 다음 작업을 취소 할 수 없습니다 -> 작업을 완료하거나 예외를 throw 할 수 있습니다.

+1

나는 당신이 오해했다고 생각합니다. CancellationToken은 매개 변수로 선택적으로 원격 또는 장기간 호출에 전달되므로 해당 작업을 구현하면 'cancel-request'가 보류 중인지 확인할 수 있습니다. 사운드를 완전히 다른 방향으로 설명하는 경우! – quetzalcoatl