Click or drag to resize
StreamExtensionsCopyToAsync Method (Stream, Stream, Int32, CancellationToken)
Asynchronously reads the bytes from a source stream and writes them to a destination stream, using a specified buffer size and cancellation token.

Namespace: Rackspace.Threading
Assembly: Rackspace.Threading (in Rackspace.Threading.dll) Version: 2.1.0-beta1
Syntax
public static Task CopyToAsync(
	this Stream stream,
	Stream destination,
	int bufferSize,
	CancellationToken cancellationToken
)

Parameters

stream
Type: System.IOStream
The source stream.
destination
Type: System.IOStream
The stream to which the contents of the source stream will be copied.
bufferSize
Type: SystemInt32
The size, in bytes, of the buffer. This value must be greater than zero. The default size is 81920.
cancellationToken
Type: System.ThreadingCancellationToken
The token to monitor for cancellation requests. The default value is None.

Return Value

Type: Task
A task that represents the asynchronous copy operation.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Stream. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
Exceptions
ExceptionCondition
ArgumentNullException

If stream is .

-or-

If destination is .

ArgumentOutOfRangeException

If bufferSize is negative or zero.

ObjectDisposedException

If stream is disposed.

-or-

If destination is disposed.

NotSupportedException

If stream does not support reading.

-or-

If destination does not support writing.

Remarks

If the operation is canceled before it completes, the returned task contains the Canceled value for the Status property.

Copying begins at the current position in stream.

Version Information

.NET for Windows Store apps

Supported in: Windows 8

.NET Framework

Supported in: 4.5, 4.0, 3.5

Portable Class Library

Supported in: Portable Class Library (Legacy), Portable Class Library

Threading Library

Supported in: 2.1, 2.0, 1.1, 1.0
See Also