WebClient Class

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Provides common methods for sending data to and receiving data from a resource identified by a URI.

Namespace:  System.Net4
Assembly:  System (in System.dll)
C#

[ComVisibleAttribute(true)]
public class WebClient : Component

The WebClient type exposes the following members.

  Name Description
Public method WebClient5 Initializes a new instance of the WebClient class.
Top
  Name Description
Public property AllowReadStreamBuffering6 Obsolete.
Public property AllowWriteStreamBuffering7 Obsolete.
Public property BaseAddress8 Gets or sets the base URI for requests made by a WebClient.
Public property CachePolicy9 Gets or sets the application's cache policy for any resources obtained by this WebClient instance using WebRequest10 objects.
Protected property CanRaiseEvents11 Gets a value indicating whether the component can raise an event. (Inherited from Component3.)
Public property Container12 Gets the IContainer13 that contains the Component3. (Inherited from Component3.)
Public property Credentials14 Gets or sets the network credentials that are sent to the host and used to authenticate the request.
Protected property DesignMode15 Gets a value that indicates whether the Component3 is currently in design mode. (Inherited from Component3.)
Public property Encoding16 Gets and sets the Encoding17 used to upload and download strings.
Protected property Events18 Gets the list of event handlers that are attached to this Component3. (Inherited from Component3.)
Public property Headers19 Gets or sets a collection of header name/value pairs associated with the request.
Public property IsBusy20 Gets whether a Web request is in progress.
Public property Proxy21 Gets or sets the proxy used by this WebClient object.
Public property QueryString22 Gets or sets a collection of query name/value pairs associated with the request.
Public property ResponseHeaders23 Gets a collection of header name/value pairs associated with the response.
Public property Site24 Gets or sets the ISite25 of the Component3. (Inherited from Component3.)
Public property UseDefaultCredentials26 Gets or sets a Boolean27 value that controls whether the DefaultCredentials28 are sent with requests.
Top
  Name Description
Public method CancelAsync29 Cancels a pending asynchronous operation.
Public method CreateObjRef30 Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject2.)
Public method Dispose()31 Releases all resources used by the Component3. (Inherited from Component3.)
Protected method Dispose(Boolean)32 Releases the unmanaged resources used by the Component3 and optionally releases the managed resources. (Inherited from Component3.)
Public method DownloadData(String)33 Downloads the resource with the specified URI as a Byte34 array.
Public method DownloadData(Uri)35 Downloads the resource with the specified URI as a Byte34 array.
Public method DownloadDataAsync(Uri)36 Downloads the specified resource as a Byte34 array. This method does not block the calling thread.
Public method DownloadDataAsync(Uri, Object)37 Downloads the specified resource as a Byte34 array. This method does not block the calling thread.
Public method DownloadDataTaskAsync(String)38
Public method DownloadDataTaskAsync(Uri)39
Public method DownloadFile(String, String)40 Downloads the resource with the specified URI to a local file.
Public method DownloadFile(Uri, String)41 Downloads the resource with the specified URI to a local file.
Public method DownloadFileAsync(Uri, String)42 Downloads, to a local file, the resource with the specified URI. This method does not block the calling thread.
Public method DownloadFileAsync(Uri, String, Object)43 Downloads, to a local file, the resource with the specified URI. This method does not block the calling thread.
Public method DownloadFileTaskAsync(String, String)44
Public method DownloadFileTaskAsync(Uri, String)45
Public method DownloadString(String)46 Downloads the requested resource as a String47. The resource to download is specified as a String47 containing the URI.
Public method DownloadString(Uri)48 Downloads the requested resource as a String47. The resource to download is specified as a Uri49.
Public method DownloadStringAsync(Uri)50 Downloads the resource specified as a Uri49. This method does not block the calling thread.
Public method DownloadStringAsync(Uri, Object)51 Downloads the specified string to the specified resource. This method does not block the calling thread.
Public method DownloadStringTaskAsync(String)52
Public method DownloadStringTaskAsync(Uri)53
Public method Equals(Object)54 Determines whether the specified Object1 is equal to the current Object1. (Inherited from Object1.)
Protected method Finalize55 Releases unmanaged resources and performs other cleanup operations before the Component3 is reclaimed by garbage collection. (Inherited from Component3.)
Public method GetHashCode56 Serves as a hash function for a particular type. (Inherited from Object1.)
Public method GetLifetimeService57 Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject2.)
Protected method GetService58 Returns an object that represents a service provided by the Component3 or by its Container59. (Inherited from Component3.)
Public method GetType60 Gets the Type61 of the current instance. (Inherited from Object1.)
Protected method GetWebRequest62 Returns a WebRequest10 object for the specified resource.
Protected method GetWebResponse(WebRequest)63 Returns the WebResponse64 for the specified WebRequest10.
Protected method GetWebResponse(WebRequest, IAsyncResult)65 Returns the WebResponse64 for the specified WebRequest10 using the specified IAsyncResult66.
Public method InitializeLifetimeService67 Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject2.)
Protected method MemberwiseClone()68 Creates a shallow copy of the current Object1. (Inherited from Object1.)
Protected method MemberwiseClone(Boolean)69 Creates a shallow copy of the current MarshalByRefObject2 object. (Inherited from MarshalByRefObject2.)
Protected method OnDownloadDataCompleted70 Raises the DownloadDataCompleted71 event.
Protected method OnDownloadFileCompleted72 Raises the DownloadFileCompleted73 event.
Protected method OnDownloadProgressChanged74 Raises the DownloadProgressChanged75 event.
Protected method OnDownloadStringCompleted76 Raises the DownloadStringCompleted77 event.
Protected method OnOpenReadCompleted78 Raises the OpenReadCompleted79 event.
Protected method OnOpenWriteCompleted80 Raises the OpenWriteCompleted81 event.
Protected method OnUploadDataCompleted82 Raises the UploadDataCompleted83 event.
Protected method OnUploadFileCompleted84 Raises the UploadFileCompleted85 event.
Protected method OnUploadProgressChanged86 Raises the UploadProgressChanged87 event.
Protected method OnUploadStringCompleted88 Raises the UploadStringCompleted89 event.
Protected method OnUploadValuesCompleted90 Raises the UploadValuesCompleted91 event.
Protected method OnWriteStreamClosed92 Obsolete.
Public method OpenRead(String)93 Opens a readable stream for the data downloaded from a resource with the URI specified as a String47.
Public method OpenRead(Uri)94 Opens a readable stream for the data downloaded from a resource with the URI specified as a Uri49
Public method OpenReadAsync(Uri)95 Opens a readable stream containing the specified resource. This method does not block the calling thread.
Public method OpenReadAsync(Uri, Object)96 Opens a readable stream containing the specified resource. This method does not block the calling thread.
Public method OpenReadTaskAsync(String)97
Public method OpenReadTaskAsync(Uri)98
Public method OpenWrite(String)99 Opens a stream for writing data to the specified resource.
Public method OpenWrite(Uri)100 Opens a stream for writing data to the specified resource.
Public method OpenWrite(String, String)101 Opens a stream for writing data to the specified resource, using the specified method.
Public method OpenWrite(Uri, String)102 Opens a stream for writing data to the specified resource, by using the specified method.
Public method OpenWriteAsync(Uri)103 Opens a stream for writing data to the specified resource. This method does not block the calling thread.
Public method OpenWriteAsync(Uri, String)104 Opens a stream for writing data to the specified resource. This method does not block the calling thread.
Public method OpenWriteAsync(Uri, String, Object)105 Opens a stream for writing data to the specified resource, using the specified method. This method does not block the calling thread.
Public method OpenWriteTaskAsync(String)106
Public method OpenWriteTaskAsync(Uri)107
Public method OpenWriteTaskAsync(String, String)108
Public method OpenWriteTaskAsync(Uri, String)109
Public method ToString110 Returns a String47 containing the name of the Component3, if any. This method should not be overridden. (Inherited from Component3.)
Public method UploadData(String, Byte[])111 Uploads a data buffer to a resource identified by a URI.
Public method UploadData(Uri, Byte[])112 Uploads a data buffer to a resource identified by a URI.
Public method UploadData(String, String, Byte[])113 Uploads a data buffer to the specified resource, using the specified method.
Public method UploadData(Uri, String, Byte[])114 Uploads a data buffer to the specified resource, using the specified method.
Public method UploadDataAsync(Uri, Byte[])115 Uploads a data buffer to a resource identified by a URI, using the POST method. This method does not block the calling thread.
Public method UploadDataAsync(Uri, String, Byte[])116 Uploads a data buffer to a resource identified by a URI, using the specified method. This method does not block the calling thread.
Public method UploadDataAsync(Uri, String, Byte[], Object)117 Uploads a data buffer to a resource identified by a URI, using the specified method and identifying token.
Public method UploadDataTaskAsync(String, Byte[])118
Public method UploadDataTaskAsync(Uri, Byte[])119
Public method UploadDataTaskAsync(String, String, Byte[])120
Public method UploadDataTaskAsync(Uri, String, Byte[])121
Public method UploadFile(String, String)122 Uploads the specified local file to a resource with the specified URI.
Public method UploadFile(Uri, String)123 Uploads the specified local file to a resource with the specified URI.
Public method UploadFile(String, String, String)124 Uploads the specified local file to the specified resource, using the specified method.
Public method UploadFile(Uri, String, String)125 Uploads the specified local file to the specified resource, using the specified method.
Public method UploadFileAsync(Uri, String)126 Uploads the specified local file to the specified resource, using the POST method. This method does not block the calling thread.
Public method UploadFileAsync(Uri, String, String)127 Uploads the specified local file to the specified resource, using the POST method. This method does not block the calling thread.
Public method UploadFileAsync(Uri, String, String, Object)128 Uploads the specified local file to the specified resource, using the POST method. This method does not block the calling thread.
Public method UploadFileTaskAsync(String, String)129
Public method UploadFileTaskAsync(Uri, String)130
Public method UploadFileTaskAsync(String, String, String)131
Public method UploadFileTaskAsync(Uri, String, String)132
Public method UploadString(String, String)133 Uploads the specified string to the specified resource, using the POST method.
Public method UploadString(Uri, String)134 Uploads the specified string to the specified resource, using the POST method.
Public method UploadString(String, String, String)135 Uploads the specified string to the specified resource, using the specified method.
Public method UploadString(Uri, String, String)136 Uploads the specified string to the specified resource, using the specified method.
Public method UploadStringAsync(Uri, String)137 Uploads the specified string to the specified resource. This method does not block the calling thread.
Public method UploadStringAsync(Uri, String, String)138 Uploads the specified string to the specified resource. This method does not block the calling thread.
Public method UploadStringAsync(Uri, String, String, Object)139 Uploads the specified string to the specified resource. This method does not block the calling thread.
Public method UploadStringTaskAsync(String, String)140
Public method UploadStringTaskAsync(Uri, String)141
Public method UploadStringTaskAsync(String, String, String)142
Public method UploadStringTaskAsync(Uri, String, String)143
Public method UploadValues(String, NameValueCollection)144 Uploads the specified name/value collection to the resource identified by the specified URI.
Public method UploadValues(Uri, NameValueCollection)145 Uploads the specified name/value collection to the resource identified by the specified URI.
Public method UploadValues(String, String, NameValueCollection)146 Uploads the specified name/value collection to the resource identified by the specified URI, using the specified method.
Public method UploadValues(Uri, String, NameValueCollection)147 Uploads the specified name/value collection to the resource identified by the specified URI, using the specified method.
Public method UploadValuesAsync(Uri, NameValueCollection)148 Uploads the data in the specified name/value collection to the resource identified by the specified URI. This method does not block the calling thread.
Public method UploadValuesAsync(Uri, String, NameValueCollection)149 Uploads the data in the specified name/value collection to the resource identified by the specified URI, using the specified method. This method does not block the calling thread.
Public method UploadValuesAsync(Uri, String, NameValueCollection, Object)150 Uploads the data in the specified name/value collection to the resource identified by the specified URI, using the specified method. This method does not block the calling thread, and allows the caller to pass an object to the method that is invoked when the operation completes.
Public method UploadValuesTaskAsync(String, NameValueCollection)151
Public method UploadValuesTaskAsync(Uri, NameValueCollection)152
Public method UploadValuesTaskAsync(String, String, NameValueCollection)153
Public method UploadValuesTaskAsync(Uri, String, NameValueCollection)154
Top
  Name Description
Public event Disposed155 Occurs when the component is disposed by a call to the Dispose156 method. (Inherited from Component3.)
Public event DownloadDataCompleted71 Occurs when an asynchronous data download operation completes.
Public event DownloadFileCompleted73 Occurs when an asynchronous file download operation completes.
Public event DownloadProgressChanged75 Occurs when an asynchronous download operation successfully transfers some or all of the data.
Public event DownloadStringCompleted77 Occurs when an asynchronous resource-download operation completes.
Public event OpenReadCompleted79 Occurs when an asynchronous operation to open a stream containing a resource completes.
Public event OpenWriteCompleted81 Occurs when an asynchronous operation to open a stream to write data to a resource completes.
Public event UploadDataCompleted83 Occurs when an asynchronous data-upload operation completes.
Public event UploadFileCompleted85 Occurs when an asynchronous file-upload operation completes.
Public event UploadProgressChanged87 Occurs when an asynchronous upload operation successfully transfers some or all of the data.
Public event UploadStringCompleted89 Occurs when an asynchronous string-upload operation completes.
Public event UploadValuesCompleted91 Occurs when an asynchronous upload of a name/value collection completes.
Public event WriteStreamClosed157 Obsolete.
Top

The WebClient class provides common methods for sending data to or receiving data from any local, intranet, or Internet resource identified by a URI.

The WebClient class uses the WebRequest10 class to provide access to resources. WebClient instances can access data with any WebRequest10 descendant registered with the WebRequest.RegisterPrefix158 method.

Note Note

By default, the .NET Framework supports URIs that begin with http:, https:, ftp:, and file: scheme identifiers.

The following table describes WebClient methods for uploading data to a resource.

Method

Description

OpenWrite159

Retrieves a Stream160 used to send data to the resource.

OpenWriteAsync161

Retrieves a Stream160 used to send data to the resource, without blocking the calling thread.

UploadData162

Sends a byte array to the resource and returns a Byte34 array containing any response.

UploadDataAsync163

Sends a Byte34 array to the resource, without blocking the calling thread.

UploadFile164

Sends a local file to the resource and returns a Byte34 array containing any response.

UploadFileAsync165

Sends a local file to the resource, without blocking the calling thread.

UploadValues166

Sends a NameValueCollection167 to the resource and returns a Byte34 array containing any response.

UploadValuesAsync168

Sends a NameValueCollection167 to the resource and returns a Byte34 array containing any response, without blocking the calling thread.

UploadString169

Sends a String47 to the resource, without blocking the calling thread.

UploadStringAsync170

Sends a String47 to the resource, without blocking the calling thread.

The following table describes WebClient methods for downloading data from a resource.

Method

Description

OpenRead171

Returns the data from a resource as a Stream160.

OpenReadAsync172

Returns the data from a resource, without blocking the calling thread.

DownloadData173

Downloads data from a resource and returns a Byte34 array.

DownloadDataAsync174

Downloads data from a resource and returns a Byte34 array, without blocking the calling thread.

DownloadFile175

Downloads data from a resource to a local file.

DownloadFileAsync176

Downloads data from a resource to a local file, without blocking the calling thread.

DownloadString177

Downloads a String47 from a resource and returns a String47.

DownloadStringAsync178

Downloads a String47 from a resource, without blocking the calling thread.

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

A WebClient instance does not send optional HTTP headers by default. If your request requires an optional header, you must add the header to the Headers19 collection. For example, to retain queries in the response, you must add a user-agent header. Also, servers may return 500 (Internal Server Error) if the user agent header is missing.

AllowAutoRedirect179 is set to true in WebClient instances.

Notes to Inheritors

Derived classes should call the base class implementation of WebClient to ensure the derived class works as expected.

The following code example takes the URI of a resource, retrieves it, and displays the response.

C#

using System;
using System.Net;
using System.IO;

public class Test
{
    public static void Main (string[] args)
    {
        if (args == null || args.Length == 0)
        {
            throw new ApplicationException ("Specify the URI of the resource to retrieve.");
        }
        WebClient client = new WebClient ();

        // Add a user agent header in case the 
        // requested URI contains a query.

        client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

        Stream data = client.OpenRead (args[0]);
        StreamReader reader = new StreamReader (data);
        string s = reader.ReadToEnd ();
        Console.WriteLine (s);
        data.Close ();
        reader.Close ();
    }
}


.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
  • WebPermission180  

    to access the requested URI or any URI that the request is redirected to. Associated enumeration: Connect.

Windows 8 Release Preview, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Links Table
1http://msdn.microsoft.com/en-us/library/system.object(v=vs.110).aspx
2http://msdn.microsoft.com/en-us/library/system.marshalbyrefobject(v=vs.110).aspx
3http://msdn.microsoft.com/en-us/library/system.componentmodel.component(v=vs.110).aspx
4http://msdn.microsoft.com/en-us/library/system.net(v=vs.110).aspx
5http://msdn.microsoft.com/en-us/library/system.net.webclient.webclient(v=vs.110).aspx
6http://msdn.microsoft.com/en-us/library/system.net.webclient.allowreadstreambuffering(v=vs.110).aspx
7http://msdn.microsoft.com/en-us/library/system.net.webclient.allowwritestreambuffering(v=vs.110).aspx
8http://msdn.microsoft.com/en-us/library/system.net.webclient.baseaddress(v=vs.110).aspx
9http://msdn.microsoft.com/en-us/library/system.net.webclient.cachepolicy(v=vs.110).aspx
10http://msdn.microsoft.com/en-us/library/system.net.webrequest(v=vs.110).aspx
11http://msdn.microsoft.com/en-us/library/system.componentmodel.component.canraiseevents(v=vs.110).aspx
12http://msdn.microsoft.com/en-us/library/system.componentmodel.component.container(v=vs.110).aspx
13http://msdn.microsoft.com/en-us/library/system.componentmodel.icontainer(v=vs.110).aspx
14http://msdn.microsoft.com/en-us/library/system.net.webclient.credentials(v=vs.110).aspx
15http://msdn.microsoft.com/en-us/library/system.componentmodel.component.designmode(v=vs.110).aspx
16http://msdn.microsoft.com/en-us/library/system.net.webclient.encoding(v=vs.110).aspx
17http://msdn.microsoft.com/en-us/library/system.text.encoding(v=vs.110).aspx
18http://msdn.microsoft.com/en-us/library/system.componentmodel.component.events(v=vs.110).aspx
19http://msdn.microsoft.com/en-us/library/system.net.webclient.headers(v=vs.110).aspx
20http://msdn.microsoft.com/en-us/library/system.net.webclient.isbusy(v=vs.110).aspx
21http://msdn.microsoft.com/en-us/library/system.net.webclient.proxy(v=vs.110).aspx
22http://msdn.microsoft.com/en-us/library/system.net.webclient.querystring(v=vs.110).aspx
23http://msdn.microsoft.com/en-us/library/system.net.webclient.responseheaders(v=vs.110).aspx
24http://msdn.microsoft.com/en-us/library/system.componentmodel.component.site(v=vs.110).aspx
25http://msdn.microsoft.com/en-us/library/system.componentmodel.isite(v=vs.110).aspx
26http://msdn.microsoft.com/en-us/library/system.net.webclient.usedefaultcredentials(v=vs.110).aspx
27http://msdn.microsoft.com/en-us/library/system.boolean(v=vs.110).aspx
28http://msdn.microsoft.com/en-us/library/system.net.credentialcache.defaultcredentials(v=vs.110).aspx
29http://msdn.microsoft.com/en-us/library/system.net.webclient.cancelasync(v=vs.110).aspx
30http://msdn.microsoft.com/en-us/library/system.marshalbyrefobject.createobjref(v=vs.110).aspx
31http://msdn.microsoft.com/en-us/library/3cc9y48w(v=vs.110).aspx
32http://msdn.microsoft.com/en-us/library/d9yzd5cx(v=vs.110).aspx
33http://msdn.microsoft.com/en-us/library/xz398a3f(v=vs.110).aspx
34http://msdn.microsoft.com/en-us/library/system.byte(v=vs.110).aspx
35http://msdn.microsoft.com/en-us/library/ms144188(v=vs.110).aspx
36http://msdn.microsoft.com/en-us/library/ms144190(v=vs.110).aspx
37http://msdn.microsoft.com/en-us/library/ms144191(v=vs.110).aspx
38http://msdn.microsoft.com/en-us/library/hh138334(v=vs.110).aspx
39http://msdn.microsoft.com/en-us/library/hh159275(v=vs.110).aspx
40http://msdn.microsoft.com/en-us/library/ez801hhe(v=vs.110).aspx
41http://msdn.microsoft.com/en-us/library/ms144194(v=vs.110).aspx
42http://msdn.microsoft.com/en-us/library/ms144196(v=vs.110).aspx
43http://msdn.microsoft.com/en-us/library/ms144197(v=vs.110).aspx
44http://msdn.microsoft.com/en-us/library/hh159424(v=vs.110).aspx
45http://msdn.microsoft.com/en-us/library/hh193917(v=vs.110).aspx
46http://msdn.microsoft.com/en-us/library/fhd1f0sw(v=vs.110).aspx
47http://msdn.microsoft.com/en-us/library/system.string(v=vs.110).aspx
48http://msdn.microsoft.com/en-us/library/ms144200(v=vs.110).aspx
49http://msdn.microsoft.com/en-us/library/system.uri(v=vs.110).aspx
50http://msdn.microsoft.com/en-us/library/ms144202(v=vs.110).aspx
51http://msdn.microsoft.com/en-us/library/ms144203(v=vs.110).aspx
52http://msdn.microsoft.com/en-us/library/hh138332(v=vs.110).aspx
53http://msdn.microsoft.com/en-us/library/hh194294(v=vs.110).aspx
54http://msdn.microsoft.com/en-us/library/bsc2ak47(v=vs.110).aspx
55http://msdn.microsoft.com/en-us/library/az5741fh(v=vs.110).aspx
56http://msdn.microsoft.com/en-us/library/system.object.gethashcode(v=vs.110).aspx
57http://msdn.microsoft.com/en-us/library/system.marshalbyrefobject.getlifetimeservice(v=vs.110).aspx
58http://msdn.microsoft.com/en-us/library/system.componentmodel.component.getservice(v=vs.110).aspx
59http://msdn.microsoft.com/en-us/library/system.componentmodel.container(v=vs.110).aspx
60http://msdn.microsoft.com/en-us/library/system.object.gettype(v=vs.110).aspx
61http://msdn.microsoft.com/en-us/library/system.type(v=vs.110).aspx
62http://msdn.microsoft.com/en-us/library/system.net.webclient.getwebrequest(v=vs.110).aspx
63http://msdn.microsoft.com/en-us/library/a3xa6ys0(v=vs.110).aspx
64http://msdn.microsoft.com/en-us/library/system.net.webresponse(v=vs.110).aspx
65http://msdn.microsoft.com/en-us/library/c2xze5ez(v=vs.110).aspx
66http://msdn.microsoft.com/en-us/library/system.iasyncresult(v=vs.110).aspx
67http://msdn.microsoft.com/en-us/library/system.marshalbyrefobject.initializelifetimeservice(v=vs.110).aspx
68http://msdn.microsoft.com/en-us/library/system.object.memberwiseclone(v=vs.110).aspx
69http://msdn.microsoft.com/en-us/library/ms131262(v=vs.110).aspx
70http://msdn.microsoft.com/en-us/library/system.net.webclient.ondownloaddatacompleted(v=vs.110).aspx
71http://msdn.microsoft.com/en-us/library/system.net.webclient.downloaddatacompleted(v=vs.110).aspx
72http://msdn.microsoft.com/en-us/library/system.net.webclient.ondownloadfilecompleted(v=vs.110).aspx
73http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadfilecompleted(v=vs.110).aspx
74http://msdn.microsoft.com/en-us/library/system.net.webclient.ondownloadprogresschanged(v=vs.110).aspx
75http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadprogresschanged(v=vs.110).aspx
76http://msdn.microsoft.com/en-us/library/system.net.webclient.ondownloadstringcompleted(v=vs.110).aspx
77http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadstringcompleted(v=vs.110).aspx
78http://msdn.microsoft.com/en-us/library/system.net.webclient.onopenreadcompleted(v=vs.110).aspx
79http://msdn.microsoft.com/en-us/library/system.net.webclient.openreadcompleted(v=vs.110).aspx
80http://msdn.microsoft.com/en-us/library/system.net.webclient.onopenwritecompleted(v=vs.110).aspx
81http://msdn.microsoft.com/en-us/library/system.net.webclient.openwritecompleted(v=vs.110).aspx
82http://msdn.microsoft.com/en-us/library/system.net.webclient.onuploaddatacompleted(v=vs.110).aspx
83http://msdn.microsoft.com/en-us/library/system.net.webclient.uploaddatacompleted(v=vs.110).aspx
84http://msdn.microsoft.com/en-us/library/system.net.webclient.onuploadfilecompleted(v=vs.110).aspx
85http://msdn.microsoft.com/en-us/library/system.net.webclient.uploadfilecompleted(v=vs.110).aspx
86http://msdn.microsoft.com/en-us/library/system.net.webclient.onuploadprogresschanged(v=vs.110).aspx
87http://msdn.microsoft.com/en-us/library/system.net.webclient.uploadprogresschanged(v=vs.110).aspx
88http://msdn.microsoft.com/en-us/library/system.net.webclient.onuploadstringcompleted(v=vs.110).aspx
89http://msdn.microsoft.com/en-us/library/system.net.webclient.uploadstringcompleted(v=vs.110).aspx
90http://msdn.microsoft.com/en-us/library/system.net.webclient.onuploadvaluescompleted(v=vs.110).aspx
91http://msdn.microsoft.com/en-us/library/system.net.webclient.uploadvaluescompleted(v=vs.110).aspx
92http://msdn.microsoft.com/en-us/library/system.net.webclient.onwritestreamclosed(v=vs.110).aspx
93http://msdn.microsoft.com/en-us/library/781fwaz8(v=vs.110).aspx
94http://msdn.microsoft.com/en-us/library/ms144209(v=vs.110).aspx
95http://msdn.microsoft.com/en-us/library/ms144211(v=vs.110).aspx
96http://msdn.microsoft.com/en-us/library/ms144212(v=vs.110).aspx
97http://msdn.microsoft.com/en-us/library/hh159420(v=vs.110).aspx
98http://msdn.microsoft.com/en-us/library/hh138335(v=vs.110).aspx
99http://msdn.microsoft.com/en-us/library/3t27yce3(v=vs.110).aspx
100http://msdn.microsoft.com/en-us/library/ms144214(v=vs.110).aspx
101http://msdn.microsoft.com/en-us/library/0a7f52z4(v=vs.110).aspx
102http://msdn.microsoft.com/en-us/library/ms144215(v=vs.110).aspx
103http://msdn.microsoft.com/en-us/library/ms144217(v=vs.110).aspx
104http://msdn.microsoft.com/en-us/library/ms144218(v=vs.110).aspx
105http://msdn.microsoft.com/en-us/library/ms144219(v=vs.110).aspx
106http://msdn.microsoft.com/en-us/library/hh159557(v=vs.110).aspx
107http://msdn.microsoft.com/en-us/library/hh159290(v=vs.110).aspx
108http://msdn.microsoft.com/en-us/library/hh194289(v=vs.110).aspx
109http://msdn.microsoft.com/en-us/library/hh159307(v=vs.110).aspx
110http://msdn.microsoft.com/en-us/library/z819d1t5(v=vs.110).aspx
111http://msdn.microsoft.com/en-us/library/tdbbwh0a(v=vs.110).aspx
112http://msdn.microsoft.com/en-us/library/ms144221(v=vs.110).aspx
113http://msdn.microsoft.com/en-us/library/ktfa4fek(v=vs.110).aspx
114http://msdn.microsoft.com/en-us/library/ms144223(v=vs.110).aspx
115http://msdn.microsoft.com/en-us/library/ms144225(v=vs.110).aspx
116http://msdn.microsoft.com/en-us/library/ms144226(v=vs.110).aspx
117http://msdn.microsoft.com/en-us/library/ms144227(v=vs.110).aspx
118http://msdn.microsoft.com/en-us/library/hh193934(v=vs.110).aspx
119http://msdn.microsoft.com/en-us/library/hh138525(v=vs.110).aspx
120http://msdn.microsoft.com/en-us/library/hh138382(v=vs.110).aspx
121http://msdn.microsoft.com/en-us/library/hh159561(v=vs.110).aspx
122http://msdn.microsoft.com/en-us/library/36s52zhs(v=vs.110).aspx
123http://msdn.microsoft.com/en-us/library/ms144229(v=vs.110).aspx
124http://msdn.microsoft.com/en-us/library/esst63h0(v=vs.110).aspx
125http://msdn.microsoft.com/en-us/library/ms144230(v=vs.110).aspx
126http://msdn.microsoft.com/en-us/library/ms144232(v=vs.110).aspx
127http://msdn.microsoft.com/en-us/library/ms144233(v=vs.110).aspx
128http://msdn.microsoft.com/en-us/library/ms144234(v=vs.110).aspx
129http://msdn.microsoft.com/en-us/library/hh194005(v=vs.110).aspx
130http://msdn.microsoft.com/en-us/library/hh194308(v=vs.110).aspx
131http://msdn.microsoft.com/en-us/library/hh193921(v=vs.110).aspx
132http://msdn.microsoft.com/en-us/library/hh138336(v=vs.110).aspx
133http://msdn.microsoft.com/en-us/library/0645045y(v=vs.110).aspx
134http://msdn.microsoft.com/en-us/library/ms144236(v=vs.110).aspx
135http://msdn.microsoft.com/en-us/library/d0d3595k(v=vs.110).aspx
136http://msdn.microsoft.com/en-us/library/ms144237(v=vs.110).aspx
137http://msdn.microsoft.com/en-us/library/ms144239(v=vs.110).aspx
138http://msdn.microsoft.com/en-us/library/ms144240(v=vs.110).aspx
139http://msdn.microsoft.com/en-us/library/ms144241(v=vs.110).aspx
140http://msdn.microsoft.com/en-us/library/hh193920(v=vs.110).aspx
141http://msdn.microsoft.com/en-us/library/hh194309(v=vs.110).aspx
142http://msdn.microsoft.com/en-us/library/hh159423(v=vs.110).aspx
143http://msdn.microsoft.com/en-us/library/hh138531(v=vs.110).aspx
144http://msdn.microsoft.com/en-us/library/9w7b4fz7(v=vs.110).aspx
145http://msdn.microsoft.com/en-us/library/ms144243(v=vs.110).aspx
146http://msdn.microsoft.com/en-us/library/900ted1f(v=vs.110).aspx
147http://msdn.microsoft.com/en-us/library/ms144244(v=vs.110).aspx
148http://msdn.microsoft.com/en-us/library/ms144246(v=vs.110).aspx
149http://msdn.microsoft.com/en-us/library/ms144247(v=vs.110).aspx
150http://msdn.microsoft.com/en-us/library/ms144248(v=vs.110).aspx
151http://msdn.microsoft.com/en-us/library/hh472354(v=vs.110).aspx
152http://msdn.microsoft.com/en-us/library/hh472287(v=vs.110).aspx
153http://msdn.microsoft.com/en-us/library/hh485749(v=vs.110).aspx
154http://msdn.microsoft.com/en-us/library/hh472286(v=vs.110).aspx
155http://msdn.microsoft.com/en-us/library/system.componentmodel.component.disposed(v=vs.110).aspx
156http://msdn.microsoft.com/en-us/library/system.componentmodel.component.dispose(v=vs.110).aspx
157http://msdn.microsoft.com/en-us/library/system.net.webclient.writestreamclosed(v=vs.110).aspx
158http://msdn.microsoft.com/en-us/library/system.net.webrequest.registerprefix(v=vs.110).aspx
159http://msdn.microsoft.com/en-us/library/system.net.webclient.openwrite(v=vs.110).aspx
160http://msdn.microsoft.com/en-us/library/system.io.stream(v=vs.110).aspx
161http://msdn.microsoft.com/en-us/library/system.net.webclient.openwriteasync(v=vs.110).aspx
162http://msdn.microsoft.com/en-us/library/system.net.webclient.uploaddata(v=vs.110).aspx
163http://msdn.microsoft.com/en-us/library/system.net.webclient.uploaddataasync(v=vs.110).aspx
164http://msdn.microsoft.com/en-us/library/system.net.webclient.uploadfile(v=vs.110).aspx
165http://msdn.microsoft.com/en-us/library/system.net.webclient.uploadfileasync(v=vs.110).aspx
166http://msdn.microsoft.com/en-us/library/system.net.webclient.uploadvalues(v=vs.110).aspx
167http://msdn.microsoft.com/en-us/library/system.collections.specialized.namevaluecollection(v=vs.110).aspx
168http://msdn.microsoft.com/en-us/library/system.net.webclient.uploadvaluesasync(v=vs.110).aspx
169http://msdn.microsoft.com/en-us/library/system.net.webclient.uploadstring(v=vs.110).aspx
170http://msdn.microsoft.com/en-us/library/system.net.webclient.uploadstringasync(v=vs.110).aspx
171http://msdn.microsoft.com/en-us/library/system.net.webclient.openread(v=vs.110).aspx
172http://msdn.microsoft.com/en-us/library/system.net.webclient.openreadasync(v=vs.110).aspx
173http://msdn.microsoft.com/en-us/library/system.net.webclient.downloaddata(v=vs.110).aspx
174http://msdn.microsoft.com/en-us/library/system.net.webclient.downloaddataasync(v=vs.110).aspx
175http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadfile(v=vs.110).aspx
176http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadfileasync(v=vs.110).aspx
177http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadstring(v=vs.110).aspx
178http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadstringasync(v=vs.110).aspx
179http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.allowautoredirect(v=vs.110).aspx
180http://msdn.microsoft.com/en-us/library/system.net.webpermission(v=vs.110).aspx
181http://msdn.microsoft.com/en-us/library/8z6watww(v=vs.110).aspx
182http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest(v=vs.110).aspx
183http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse(v=vs.110).aspx
Community Content Add
Annotations FAQ