0 out of 2 rated this helpful - Rate this topic

CancellationToken Structure

Propagates notification that operations should be canceled.

Namespace:  System.Threading
Assembly:  mscorlib (in mscorlib.dll)
[ComVisibleAttribute(false)]
[HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true, 
	ExternalThreading = true)]
public struct CancellationToken

The CancellationToken type exposes the following members.

  Name Description
Public method CancellationToken Initializes the CancellationToken.
Top
  Name Description
Public property CanBeCanceled Gets whether this token is capable of being in the canceled state.
Public property IsCancellationRequested Gets whether cancellation has been requested for this token.
Public property Static member None Returns an empty CancellationToken value.
Public property WaitHandle Gets a WaitHandle that is signaled when the token is canceled.
Top
  Name Description
Public method Equals(CancellationToken) Determines whether the current CancellationToken instance is equal to the specified token.
Public method Equals(Object) Determines whether the current CancellationToken instance is equal to the specified Object. (Overrides ValueType.Equals(Object).)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a CancellationToken. (Overrides ValueType.GetHashCode().)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Register(Action) Registers a delegate that will be called when this CancellationToken is canceled.
Public method Register(Action, Boolean) Registers a delegate that will be called when this CancellationToken is canceled.
Public method Register(Action<Object>, Object) Registers a delegate that will be called when this CancellationToken is canceled.
Public method Register(Action<Object>, Object, Boolean) Registers a delegate that will be called when this CancellationToken is canceled.
Public method ThrowIfCancellationRequested Throws a OperationCanceledException if this token has had cancellation requested.
Public method ToString Returns the fully qualified type name of this instance. (Inherited from ValueType.)
Top
  Name Description
Public operator Static member Equality Determines whether two CancellationToken instances are equal.
Public operator Static member Inequality Determines whether two CancellationToken instances are not equal.
Top

For more information and code examples see Cancellation.

Note Note

The HostProtectionAttribute attribute applied to this type or member has the following Resources property value: Synchronization | ExternalThreading. The HostProtectionAttribute does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the HostProtectionAttribute class or SQL Server Programming and Host Protection Attributes.

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

All public and protected members of CancellationToken are thread-safe and may be used concurrently from multiple threads, with the exception of Dispose, which must only be used when all other operations on the CancellationToken have completed.

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
CancellationTokenSource & CancellationToken

CancellationTokenSource: http://msdn.microsoft.com/en-us/library/system.threading.cancellationtokensource.aspx

CancellationTokenSource/CancellationToken pair implements the observer pattern. The CancellationTokenSource is the subject observed by CancellationTokens for cancellation requests. A CancellationTokenSource instance, through its Token property, is a factory for its observing CancellationTokens. Additionally, cancellation Tokens are structures; consequently, each receiving method gets a separate copy of the token. In particular, each recepient may or may not monitor the token by polling, event registration, or WaitHandle.

Nice.

  • 12/20/2011
  • G1
There is no Dispose
$0<quote>$0 All public and protected members of  CancellationToken  are thread-safe and may be used concurrently from multiple threads, with the exception of Dispose, which must only be used when all other operations on the  CancellationToken  have completed. $0</quote>$0 $0CancellationToken doesn't have Dispose().$0
How to make cancellation
The cancellation can be made by calling CancellationTokenSource.Cancel(). The CancellationToken itself (CancellationTokenSource.Token) can be passed around as a way of notification to other parties.