WebClient.UploadDataAsync Method (Uri, String, Byte())


Uploads a data buffer to a resource identified by a URI, using the specified method. This method does not block the calling thread.

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

<HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading := True)>
Public Sub UploadDataAsync (
	address As Uri,
	method As String,
	data As Byte()


Type: System.Uri

The URI of the resource to receive the data.

Type: System.String

The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.

Type: System.Byte()

The data buffer to send to the resource.

Exception Condition

The address parameter is null.


The URI formed by combining BaseAddress and address is invalid.


An error occurred while opening the stream.


There was no response from the server hosting the resource.

This method sends a data buffer to a resource. The data buffer is sent asynchronously using thread resources that are automatically allocated from the thread pool. The data is not encoded. To receive notification when the data upload completes, add an event handler to the UploadDataCompleted event.

This method does not block the calling thread while the data is being sent. To send data and block while waiting for the server's response, use one of the UploadData methods.

Asynchronous operations that have not completed can be canceled using the CancelAsync method.

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


This member outputs trace information when you enable network tracing in your application. For more information, see Network Tracing in the .NET Framework.

.NET Framework
Available since 2.0
Return to top