WebClient.OpenReadAsync Method (Uri, Object)

Opens a readable stream to the specified resource.

Namespace:  System.Net
Assembly:  System.Net (in System.Net.dll)

public void OpenReadAsync(
	Uri address,
	Object userToken


Type: System.Uri
The location of the resource to be downloaded.
Type: System.Object
Provides a user-specified identifier for the asynchronous task.


The address parameter is null.


There is not enough memory to continue the execution of the program.


The execution stack overflowed because it contains too many nested method calls.


A call was made to the Thread.Abort method to destroy a thread.

This method retrieves the specified resource using the GET method. The resource is downloaded asynchronously. If the AllowReadStreamBuffering property is true, then the OpenReadCompleted event is raised once the entire response stream has been received and buffered into memory. Otherwise, the OpenReadCompleted event is raised as soon as the response stream is available for reading even if all data has not yet arrived.

You can use the CancelAsync method to cancel asynchronous operations that have not completed.

You cannot call the OpenReadAsync method again on the same WebClient object, until the first download operation is completed. Doing this causes an exception.

If the BaseAddress property is not an empty string and the address does not contain an absolute URI, the address must be a relative URI that is combined with BaseAddress to form the absolute URI of the requested data.

Retrieve the userToken as the UserState property of the AsyncCompletedEventArgs passed to the method invoked when the asynchronous operation is completed.


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions