<?xml version="1.0" encoding="utf-8"?>
<Type Name="WebClient" FullName="System.Net.WebClient" FullNameSP="System_Net_WebClient" Maintainer="ecma">
  <TypeSignature Language="ILASM" Value=".class public sealed WebClient extends System.MarshalByRefObject" />
  <TypeSignature Language="C#" Value="public class WebClient : System.ComponentModel.Component" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi WebClient extends System.ComponentModel.Component" />
  <MemberOfLibrary>Networking</MemberOfLibrary>
  <AssemblyInfo>
    <AssemblyName>System</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
    <AssemblyVersion>1.0.x.x</AssemblyVersion>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
  <Base>
    <BaseTypeName>System.ComponentModel.Component</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Attributes>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
    </Attribute>
  </Attributes>
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>The <see cref="T:System.Net.WebClient" /> class provides common methods for sending data to or receiving data from any local, intranet, or Internet resource identified by a URI.</para>
      <para>The <see cref="T:System.Net.WebClient" /> class uses the <see cref="T:System.Net.WebRequest" /> class to provide access to resources. <see cref="T:System.Net.WebClient" /> instances can access data with any <see cref="T:System.Net.WebRequest" /> descendant registered with the <see cref="M:System.Net.WebRequest.RegisterPrefix(System.String,System.Net.IWebRequestCreate)" /> method.</para>
      <block subset="none" type="note">
        <para>By default, the .NET Framework supports URIs that begin with http:, https:, ftp:, and file: scheme identifiers.</para>
      </block>
      <para>The following table describes <see cref="T:System.Net.WebClient" /> methods for uploading data to a resource.</para>
      <list type="table">
        <listheader>
          <item>
            <term>
              <para>Method</para>
            </term>
            <description>
              <para>Description</para>
            </description>
          </item>
        </listheader>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.OpenWrite(System.String)" />
            </para>
          </term>
          <description>
            <para>Retrieves a <see cref="T:System.IO.Stream" /> used to send data to the resource.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.OpenWriteAsync(System.Uri)" />
            </para>
          </term>
          <description>
            <para>Retrieves a <see cref="T:System.IO.Stream" /> used to send data to the resource, without blocking the calling thread.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.UploadData(System.String,System.Byte[])" />
            </para>
          </term>
          <description>
            <para>Sends a byte array to the resource and returns a <see cref="T:System.Byte" /> array containing any response.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.UploadDataAsync(System.Uri,System.Byte[])" />
            </para>
          </term>
          <description>
            <para>Sends a <see cref="T:System.Byte" /> array to the resource, without blocking the calling thread.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.UploadFile(System.String,System.String)" />
            </para>
          </term>
          <description>
            <para>Sends a local file to the resource and returns a <see cref="T:System.Byte" /> array containing any response.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.UploadFileAsync(System.Uri,System.String)" />
            </para>
          </term>
          <description>
            <para>Sends a local file to the resource, without blocking the calling thread.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.UploadValues(System.String,System.Collections.Specialized.NameValueCollection)" />
            </para>
          </term>
          <description>
            <para>Sends a <see cref="T:System.Collections.Specialized.NameValueCollection" /> to the resource and returns a <see cref="T:System.Byte" /> array containing any response.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.UploadValuesAsync(System.Uri,System.Collections.Specialized.NameValueCollection)" />
            </para>
          </term>
          <description>
            <para>Sends a <see cref="T:System.Collections.Specialized.NameValueCollection" /> to the resource and returns a <see cref="T:System.Byte" /> array containing any response, without blocking the calling thread.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="Overload:System.Net.WebClient.UploadString" />
            </para>
          </term>
          <description>
            <para>Sends a <see cref="T:System.String" /> to the resource, without blocking the calling thread.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="Overload:System.Net.WebClient.UploadStringAsync" />
            </para>
          </term>
          <description>
            <para>Sends a <see cref="T:System.String" /> to the resource, without blocking the calling thread.</para>
          </description>
        </item>
      </list>
      <para>The following table describes <see cref="T:System.Net.WebClient" /> methods for downloading data from a resource. </para>
      <list type="table">
        <listheader>
          <item>
            <term>
              <para>Method</para>
            </term>
            <description>
              <para>Description</para>
            </description>
          </item>
        </listheader>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.OpenRead(System.String)" />
            </para>
          </term>
          <description>
            <para>Returns the data from a resource as a <see cref="T:System.IO.Stream" />.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.OpenReadAsync(System.Uri)" />
            </para>
          </term>
          <description>
            <para>Returns the data from a resource, without blocking the calling thread.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.DownloadData(System.String)" />
            </para>
          </term>
          <description>
            <para>Downloads data from a resource and returns a <see cref="T:System.Byte" /> array.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.DownloadDataAsync(System.Uri)" />
            </para>
          </term>
          <description>
            <para>Downloads data from a resource and returns a <see cref="T:System.Byte" /> array, without blocking the calling thread.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.DownloadFile(System.String,System.String)" />
            </para>
          </term>
          <description>
            <para>Downloads data from a resource to a local file.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.DownloadFileAsync(System.Uri,System.String)" />
            </para>
          </term>
          <description>
            <para>Downloads data from a resource to a local file, without blocking the calling thread.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="M:System.Net.WebClient.DownloadString(System.String)" />
            </para>
          </term>
          <description>
            <para>Downloads a <see cref="T:System.String" /> from a resource and returns a <see cref="T:System.String" />.</para>
          </description>
        </item>
        <item>
          <term>
            <para>
              <see cref="Overload:System.Net.WebClient.DownloadStringAsync" />
            </para>
          </term>
          <description>
            <para>Downloads a <see cref="T:System.String" /> from a resource, without blocking the calling thread.</para>
          </description>
        </item>
      </list>
      <para>You can use the <see cref="M:System.Net.WebClient.CancelAsync" /> method to cancel asynchronous operations that have not completed.</para>
      <para>A <see cref="T:System.Net.WebClient" /> instance does not send optional HTTP headers by default. If your request requires an optional header, you must add the header to the <see cref="P:System.Net.WebClient.Headers" /> 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.</para>
      <para>
        <see cref="P:System.Net.HttpWebRequest.AllowAutoRedirect" /> is set to true in <see cref="T:System.Net.WebClient" /> instances.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Provides common methods for sending data to and receiving data from a resource identified by a URI.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()" />
      <MemberSignature Language="C#" Value="public WebClient ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The default constructor creates a new instance of the <see cref="T:System.Net.WebClient" /> class. The default HTTP method is GET. The default FTP method is RETR. The default <see cref="P:System.Net.WebClient.Encoding" /> is <see cref="P:System.Text.Encoding.Default" />. The default value of <see cref="P:System.Net.HttpWebRequest.AllowAutoRedirect" /> is true.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Net.WebClient" /> class.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="BaseAddress">
      <MemberSignature Language="ILASM" Value=".property string BaseAddress { public hidebysig specialname instance string get_BaseAddress() public hidebysig specialname instance void set_BaseAddress(string value) }" />
      <MemberSignature Language="C#" Value="public string BaseAddress { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string BaseAddress" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para> A <see cref="T:System.String" /> containing the base URI for requests made by a
<see cref="T:System.Net.WebClient" /> or, <see cref="F:System.String.Empty" />, if no value 
   was set or <see langword="null" /> was specified for a set operation. </para>
        </value>
        <exception cref="T:System.ArgumentException">The value specified for a set operation is not <see langword="null" /> or <see cref="F:System.String.Empty" />, and is not a URI in a format recognized by the <see cref="T:System.Uri" /> class.</exception>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Net.WebClient.BaseAddress" /> property contains a base URI that is combined with a relative address. When you call a method that uploads or downloads data, the <see cref="T:System.Net.WebClient" /> object combines this base URI with the relative address you specify in the method call. If you specify an absolute URI, <see cref="T:System.Net.WebClient" /> does not use the <see cref="P:System.Net.WebClient.BaseAddress" /> property value.</para>
          <para>To remove a previously set value, set this property to null or an empty string ("").</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the base URI for requests made by a <see cref="T:System.Net.WebClient" />.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="CachePolicy">
      <MemberSignature Language="C#" Value="public System.Net.Cache.RequestCachePolicy CachePolicy { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Net.Cache.RequestCachePolicy CachePolicy" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.MonoTODO("Value can be set but is currently ignored")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Net.Cache.RequestCachePolicy</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the application's cache policy for any resources obtained by this WebClient instance using <see cref="T:System.Net.WebRequest" /> objects.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="CancelAsync">
      <MemberSignature Language="C#" Value="public void CancelAsync ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void CancelAsync() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If an operation is pending, this method calls <see cref="M:System.Net.WebRequest.Abort" /> on the underlying <see cref="T:System.Net.WebRequest" />.</para>
          <para>When you call <see cref="M:System.Net.WebClient.CancelAsync" />, your application still receives the completion event associated with the operation. For example, when you call <see cref="M:System.Net.WebClient.CancelAsync" /> to cancel a <see cref="Overload:System.Net.WebClient.DownloadStringAsync" /> operation, if you have specified an event handler for the <see cref="E:System.Net.WebClient.DownloadStringCompleted" /> event, your event handler receives notification that the operation has ended. To learn whether the operation completed successfully, check the <see cref="P:System.ComponentModel.AsyncCompletedEventArgs.Cancelled" /> property on the base class of <see cref="T:System.Net.DownloadDataCompletedEventArgs" /> in the event data object passed to the event handler. </para>
          <para>If no asynchronous operation is in progress, this method does nothing.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Cancels a pending asynchronous operation.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Credentials">
      <MemberSignature Language="ILASM" Value=".property class System.Net.ICredentials Credentials { public hidebysig specialname instance class System.Net.ICredentials get_Credentials() public hidebysig specialname instance void set_Credentials(class System.Net.ICredentials value) }" />
      <MemberSignature Language="C#" Value="public System.Net.ICredentials Credentials { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Net.ICredentials Credentials" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.ICredentials</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para> A <see cref="T:System.Net.ICredentials" /> containing the authentication credentials for the
   request. The default is
<see langword="null" />.</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Net.WebClient.Credentials" /> property contains the authentication credentials used to access a resource on a host. In most client-side scenarios, you should use the <see cref="P:System.Net.CredentialCache.DefaultCredentials" />, which are the credentials of the currently logged on user. To do this, set the <see cref="P:System.Net.WebClient.UseDefaultCredentials" /> property to true instead of setting this property.</para>
          <para>If the <see cref="T:System.Net.WebClient" /> class is being used in a middle tier application, such as an ASP.NET application, the <see cref="P:System.Net.CredentialCache.DefaultCredentials" /> belong to the account running the ASP page (the server-side credentials). Typically, you would set this property to the credentials of the client on whose behalf the request is made.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the network credentials that are sent to the host and used to authenticate the request.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="DownloadData">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Byte[] DownloadData(string address)" />
      <MemberSignature Language="C#" Value="public byte[] DownloadData (string address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] DownloadData(string address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
      </Parameters>
      <Docs>
        <exception cref="T:System.Net.WebException">
          <para>The absolute URI is not valid.</para>
          <para> -or-</para>
          <para>An error occurred while downloading data.</para>
        </exception>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.DownloadData(System.String)" /> method downloads the resource with the URI specified by the <paramref name="address" /> parameter. This method blocks while downloading the resource. To download a resource and continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.DownloadDataAsync" /> methods. </para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the resource as a <see cref="T:System.Byte" /> array from the URI specified.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Byte" /> array containing the downloaded resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI from which to download data. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="DownloadData">
      <MemberSignature Language="C#" Value="public byte[] DownloadData (Uri address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] DownloadData(class System.Uri address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.DownloadData(System.String)" /> method downloads the resource with the URI specified by the <paramref name="address" /> parameter. This method blocks while downloading the resource. To download a resource and continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.DownloadDataAsync" /> methods. </para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <para>Note   This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the resource as a <see cref="T:System.Byte" /> array from the URI specified.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Byte" /> array containing the downloaded resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI represented by the <see cref="T:System.Uri" />  object, from which to download data.</param>
      </Docs>
    </Member>
    <Member MemberName="DownloadDataAsync">
      <MemberSignature Language="C#" Value="public void DownloadDataAsync (Uri address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void DownloadDataAsync(class System.Uri address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method retrieves the specified resource using the default method for the protocol associated with the URI scheme specified in <paramref name="address" />. The data is downloaded asynchronously using thread resources that are automatically allocated from the thread pool. </para>
          <para>This method does not block the calling thread while downloading the resource. To download a resource and block while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.DownloadData" /> methods. When the download completes, the <see cref="E:System.Net.WebClient.DownloadDataCompleted" /> event is raised. Your application must handle this event to receive notification. The downloaded data is available in the <see cref="P:System.Net.DownloadDataCompletedEventArgs.Result" /> property. </para>
          <para>You can use the <see cref="M:System.Net.WebClient.CancelAsync" /> method to cancel asynchronous operations that have not completed.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the resource as a <see cref="T:System.Byte" /> array from the URI specified as an asynchronous operation. </para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Uri" /> containing the URI to download.</param>
      </Docs>
    </Member>
    <Member MemberName="DownloadDataAsync">
      <MemberSignature Language="C#" Value="public void DownloadDataAsync (Uri address, object userToken);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void DownloadDataAsync(class System.Uri address, object userToken) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="userToken" Type="System.Object" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method retrieves the specified resource using the default method for the protocol associated with the URI scheme specified in <paramref name="address" />. The data is downloaded asynchronously using thread resources that are automatically allocated from the thread pool. </para>
          <para>This method does not block the calling thread while downloading the resource. To download a resource and block while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.DownloadData" /> methods. When the download completes, the <see cref="E:System.Net.WebClient.DownloadDataCompleted" /> event is raised. Your application must handle this event to receive notification. The downloaded data is available in the <see cref="P:System.Net.DownloadDataCompletedEventArgs.Result" /> property. </para>
          <para>You can use the <see cref="M:System.Net.WebClient.CancelAsync" /> method to cancel asynchronous operations that have not completed.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the resource as a <see cref="T:System.Byte" /> array from the URI specified as an asynchronous operation. </para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Uri" /> containing the URI to download.</param>
        <param name="userToken">
          <attribution license="cc4" from="Microsoft" modified="false" />A user-defined object that is passed to the method invoked when the asynchronous operation completes.</param>
      </Docs>
    </Member>
    <Member MemberName="DownloadDataCompleted">
      <MemberSignature Language="C#" Value="public event System.Net.DownloadDataCompletedEventHandler DownloadDataCompleted;" />
      <MemberSignature Language="ILAsm" Value=".event class System.Net.DownloadDataCompletedEventHandler DownloadDataCompleted" />
      <MemberType>Event</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.DownloadDataCompletedEventHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This event is raised each time an asynchronous data download operation completes. Asynchronous data downloads are started by calling the <see cref="Overload:System.Net.WebClient.DownloadDataAsync" /> methods.</para>
          <para>The <see cref="T:System.Net.DownloadDataCompletedEventHandler" /> is the delegate for this event. The <see cref="T:System.Net.DownloadDataCompletedEventArgs" /> class provides the event handler with event data. </para>
          <para>For more information about handling events, see <format type="text/html"><a href="01e4f1bc-e55e-413f-98c7-6588493e5f67">Consuming Events</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when an asynchronous data download operation completes.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="DownloadDataTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;byte[]&gt; DownloadDataTaskAsync (string address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;unsigned int8[]&gt; DownloadDataTaskAsync(string address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.Byte[]&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" />  object will complete after the data resource has been downloaded.</para>
          <para>This method retrieves the specified resource using the default method for the protocol associated with the URI scheme specified in the <paramref name="address" /> parameter. The data is downloaded asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
          <para>The following code example requests data from a server and displays the data returned. It assumes that remoteUri contains a valid URI for the requested data.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the resource as a <see cref="T:System.Byte" /> array from the URI specified as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the downloaded resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to download. </param>
      </Docs>
    </Member>
    <Member MemberName="DownloadDataTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;byte[]&gt; DownloadDataTaskAsync (Uri address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;unsigned int8[]&gt; DownloadDataTaskAsync(class System.Uri address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Diagnostics.DebuggerStepThrough</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Runtime.CompilerServices.AsyncStateMachine(typeof(System.Net.WebClient/&lt;DownloadDataTaskAsync&gt;c__async0))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.Byte[]&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" />  object will complete after the data resource has been downloaded.</para>
          <para>This method retrieves the specified resource using the default method for the protocol associated with the URI scheme specified in the <paramref name="address" /> parameter. The data is downloaded asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <para>Note   This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the resource as a <see cref="T:System.Byte" /> array from the URI specified as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the downloaded resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to download.</param>
      </Docs>
    </Member>
    <Member MemberName="DownloadFile">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance void DownloadFile(string address, string fileName)" />
      <MemberSignature Language="C#" Value="public void DownloadFile (string address, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void DownloadFile(string address, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <exception cref="T:System.Net.WebException">
          <para>The absolute URI is not valid.</para>
          <para>-or-</para>
          <para>
            <paramref name="filename" /> is <see langword="null" /> or <see cref="F:System.String.Empty" /> or contains invalid characters, or the specified path to the file does not exist.</para>
          <para>-or-</para>
          <para>An error occurred while downloading data.</para>
        </exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have permission to write to local files.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true" />.</permission>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.DownloadFile(System.String,System.String)" /> method downloads to a local file data from the URI specified by in the <paramref name="address" /> parameter. This method blocks while downloading the resource. To download a resource and continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.DownloadFileAsync" /> methods.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
          <para>When using this method in a middle tier application, such as an ASP.NET page, you will receive an error if the account under which the application executes does not have permission to access the file.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the resource with the specified URI to a local file.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI from which to download data. </param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the local file that is to receive the data. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="DownloadFile">
      <MemberSignature Language="C#" Value="public void DownloadFile (Uri address, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void DownloadFile(class System.Uri address, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.DownloadFile(System.String,System.String)" /> method downloads to a local file data from the URI specified by in the <paramref name="address" /> parameter. This method blocks while downloading the resource. To download a resource and continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.DownloadFileAsync" /> methods.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
          <para>When using this method in a middle tier application, such as an ASP.NET page, you will receive an error if the account under which the application executes does not have permission to access the file.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the resource with the specified URI to a local file.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI specified as a <see cref="T:System.String" />, from which to download data. </param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the local file that is to receive the data. </param>
      </Docs>
    </Member>
    <Member MemberName="DownloadFileAsync">
      <MemberSignature Language="C#" Value="public void DownloadFileAsync (Uri address, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void DownloadFileAsync(class System.Uri address, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method downloads the resource at the URI specified by in the <paramref name="address" /> parameter. When the download completes successfully, the downloaded file is named <paramref name="fileName" /> on the local computer. The file is downloaded asynchronously using thread resources that are automatically allocated from the thread pool. To receive notification when the file is available, add an event handler to the <see cref="E:System.Net.WebClient.DownloadFileCompleted" /> event. </para>
          <para>This method does not block the calling thread while the resource is being downloaded. To block while waiting for the download to complete, use one of the <see cref="Overload:System.Net.WebClient.DownloadFile" /> methods.</para>
          <para>You can use the <see cref="M:System.Net.WebClient.CancelAsync" /> method to cancel asynchronous operations that have not completed.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not specify an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
          <para>When using this method in an ASP.NET page, you will receive an error if the account that the page executes under does not have permission to access the local file.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads, to a local file, the resource with the specified URI. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to download. </param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the file to be placed on the local computer. </param>
      </Docs>
    </Member>
    <Member MemberName="DownloadFileAsync">
      <MemberSignature Language="C#" Value="public void DownloadFileAsync (Uri address, string fileName, object userToken);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void DownloadFileAsync(class System.Uri address, string fileName, object userToken) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="fileName" Type="System.String" />
        <Parameter Name="userToken" Type="System.Object" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method downloads the resource at the URI specified by in the <paramref name="address" /> parameter. When the download completes successfully, the downloaded file is named <paramref name="fileName" /> on the local computer. The file is downloaded asynchronously using thread resources that are automatically allocated from the thread pool. To receive notification when the file is available, add an event handler to the <see cref="E:System.Net.WebClient.DownloadFileCompleted" /> event. </para>
          <para>This method does not block the calling thread while the resource is being downloaded. To block while waiting for the download to complete, use one of the <see cref="Overload:System.Net.WebClient.DownloadFile" /> methods.</para>
          <para>You can use the <see cref="M:System.Net.WebClient.CancelAsync" /> method to cancel asynchronous operations that have not completed.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not specify an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
          <para>When using this method in an ASP.NET page, you will receive an error if the account that the page executes under does not have permission to access the local file.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads, to a local file, the resource with the specified URI. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to download. </param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the file to be placed on the local computer. </param>
        <param name="userToken">
          <attribution license="cc4" from="Microsoft" modified="false" />A user-defined object that is passed to the method invoked when the asynchronous operation completes.</param>
      </Docs>
    </Member>
    <Member MemberName="DownloadFileCompleted">
      <MemberSignature Language="C#" Value="public event System.ComponentModel.AsyncCompletedEventHandler DownloadFileCompleted;" />
      <MemberSignature Language="ILAsm" Value=".event class System.ComponentModel.AsyncCompletedEventHandler DownloadFileCompleted" />
      <MemberType>Event</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ComponentModel.AsyncCompletedEventHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This event is raised each time an asynchronous file download operation completes. Asynchronous file downloads are started by calling the <see cref="Overload:System.Net.WebClient.DownloadFileAsync" /> methods.</para>
          <para>The <see cref="T:System.ComponentModel.AsyncCompletedEventHandler" /> is the delegate for this event. The <see cref="T:System.ComponentModel.AsyncCompletedEventArgs" /> class provides the event handler with event data. </para>
          <para>For more information about handling events, see <format type="text/html"><a href="01e4f1bc-e55e-413f-98c7-6588493e5f67">Consuming Events</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when an asynchronous file download operation completes.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="DownloadFileTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task DownloadFileTaskAsync (string address, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task DownloadFileTaskAsync(string address, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task" />  object will complete after the data resource has been downloaded.</para>
          <para>This method downloads the resource at the URI specified by in the <paramref name="address" /> parameter. When the download completes successfully, the downloaded file is named <paramref name="fileName" /> on the local computer. The file is downloaded asynchronously using thread resources that are automatically allocated from the thread pool. </para>
          <para>You can use the <see cref="M:System.Net.WebClient.CancelAsync" /> method to cancel asynchronous operations that have not completed.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not specify an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
          <para>When using this method in an ASP.NET page, you will receive an error if the account that the page executes under does not have permission to access the local file.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the specified resource to a local file as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task" />.</para>
          <para>The task object representing the asynchronous operation.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to download.</param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the file to be placed on the local computer.</param>
      </Docs>
    </Member>
    <Member MemberName="DownloadFileTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task DownloadFileTaskAsync (Uri address, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task DownloadFileTaskAsync(class System.Uri address, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Diagnostics.DebuggerStepThrough</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Runtime.CompilerServices.AsyncStateMachine(typeof(System.Net.WebClient/&lt;DownloadFileTaskAsync&gt;c__async4))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task" />  object will complete after the data resource has been downloaded.</para>
          <para>This method downloads the resource at the URI specified by in the <paramref name="address" /> parameter. When the download completes successfully, the downloaded file is named <paramref name="fileName" /> on the local computer. The file is downloaded asynchronously using thread resources that are automatically allocated from the thread pool. </para>
          <para>You can use the <see cref="M:System.Net.WebClient.CancelAsync" /> method to cancel asynchronous operations that have not completed.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not specify an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
          <para>When using this method in an ASP.NET page, you will receive an error if the account that the page executes under does not have permission to access the local file.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the specified resource to a local file as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task" />.</para>
          <para>The task object representing the asynchronous operation.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to download.</param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the file to be placed on the local computer.</param>
      </Docs>
    </Member>
    <Member MemberName="DownloadProgressChanged">
      <MemberSignature Language="C#" Value="public event System.Net.DownloadProgressChangedEventHandler DownloadProgressChanged;" />
      <MemberSignature Language="ILAsm" Value=".event class System.Net.DownloadProgressChangedEventHandler DownloadProgressChanged" />
      <MemberType>Event</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.DownloadProgressChangedEventHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This event is raised each time an asynchronous download makes progress. This event is raised when downloads are started using any of the following methods.</para>
          <list type="table">
            <listheader>
              <item>
                <term>
                  <para>Method</para>
                </term>
                <description>
                  <para>Description</para>
                </description>
              </item>
            </listheader>
            <item>
              <term>
                <para>
                  <see cref="M:System.Net.WebClient.DownloadDataAsync(System.Uri)" />
                </para>
              </term>
              <description>
                <para>Downloads data from a resource and returns a <see cref="T:System.Byte" /> array, without blocking the calling thread.</para>
              </description>
            </item>
            <item>
              <term>
                <para>
                  <see cref="M:System.Net.WebClient.DownloadFileAsync(System.Uri,System.String)" />
                </para>
              </term>
              <description>
                <para>Downloads data from a resource to a local file, without blocking the calling thread.</para>
              </description>
            </item>
            <item>
              <term>
                <para>
                  <see cref="M:System.Net.WebClient.OpenReadAsync(System.Uri)" />
                </para>
              </term>
              <description>
                <para>Returns the data from a resource, without blocking the calling thread.</para>
              </description>
            </item>
          </list>
          <para>The <see cref="T:System.Net.DownloadProgressChangedEventHandler" /> is the delegate for this event. The <see cref="T:System.Net.DownloadProgressChangedEventArgs" /> class provides the event handler with event data. </para>
          <para>For more information about handling events, see <format type="text/html"><a href="01e4f1bc-e55e-413f-98c7-6588493e5f67">Consuming Events</a></format>.</para>
          <block subset="none" type="note">
            <para>A passive FTP file transfer will always show a progress percentage of zero, since the server did not send the file size. To show progress, you can change the FTP connection to active by overriding the <see cref="M:System.Net.WebClient.GetWebRequest(System.Uri)" /> virtual method:</para>
          </block>
          <code>internal class MyWebClient:WebClient{
        protected override WebRequest GetWebRequest(Uri address) {
            FtpWebRequest req = (FtpWebRequest)base.GetWebRequest(address);
            req.UsePassive = false;
            return req;
        }
    }</code>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when an asynchronous download operation successfully transfers some or all of the data.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="DownloadString">
      <MemberSignature Language="C#" Value="public string DownloadString (string address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string DownloadString(string address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method retrieves the specified resource. After it downloads the resource, the method uses the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property to convert the resource to a <see cref="T:System.String" />. This method blocks while downloading the resource. To download a resource and continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.DownloadStringAsync" /> methods. </para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the requested resource as a <see cref="T:System.String" />. The resource to download is specified as a <see cref="T:System.String" /> containing the URI.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> containing the requested resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.String" /> containing the URI to download.</param>
      </Docs>
    </Member>
    <Member MemberName="DownloadString">
      <MemberSignature Language="C#" Value="public string DownloadString (Uri address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string DownloadString(class System.Uri address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method retrieves the specified resource. After it downloads the resource, the method uses the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property to convert the resource to a <see cref="T:System.String" />. This method blocks while downloading the resource. To download a resource and continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.DownloadStringAsync" /> methods. </para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the requested resource as a <see cref="T:System.String" />. The resource to download is specified as a <see cref="T:System.Uri" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> containing the requested resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Uri" /> object containing the URI to download.</param>
      </Docs>
    </Member>
    <Member MemberName="DownloadStringAsync">
      <MemberSignature Language="C#" Value="public void DownloadStringAsync (Uri address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void DownloadStringAsync(class System.Uri address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The resource is downloaded asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>After downloading the resource, this method uses the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property to convert the resource to a <see cref="T:System.String" />. This method does not block the calling thread while downloading the resource. To download a resource and block while waiting for the server's response, use the <see cref="M:System.Net.WebClient.DownloadString(System.Uri)" /> method. When the download completes, the <see cref="E:System.Net.WebClient.DownloadStringCompleted" /> event is raised. Your application must handle this event to receive notification. The downloaded string is available in the <see cref="P:System.Net.DownloadStringCompletedEventArgs.Result" /> property.</para>
          <para>You can use the <see cref="M:System.Net.WebClient.CancelAsync" /> method to cancel asynchronous operations that have not completed.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the resource specified as a <see cref="T:System.Uri" />. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Uri" /> containing the URI to download.</param>
      </Docs>
    </Member>
    <Member MemberName="DownloadStringAsync">
      <MemberSignature Language="C#" Value="public void DownloadStringAsync (Uri address, object userToken);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void DownloadStringAsync(class System.Uri address, object userToken) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="userToken" Type="System.Object" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The resource is downloaded asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>After downloading the resource, this method uses the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property to convert the resource to a <see cref="T:System.String" />. This method does not block the calling thread while downloading the resource. To download a resource and block while waiting for the server's response, use the <see cref="M:System.Net.WebClient.DownloadString(System.Uri)" /> method. When the download completes, the <see cref="E:System.Net.WebClient.DownloadStringCompleted" /> event is raised. Your application must handle this event to receive notification. The downloaded string is available in the <see cref="P:System.Net.DownloadStringCompletedEventArgs.Result" /> property.</para>
          <para>You can use the <see cref="M:System.Net.WebClient.CancelAsync" /> method to cancel asynchronous operations that have not completed.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the specified string to the specified resource. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Uri" /> containing the URI to download.</param>
        <param name="userToken">
          <attribution license="cc4" from="Microsoft" modified="false" />A user-defined object that is passed to the method invoked when the asynchronous operation completes.</param>
      </Docs>
    </Member>
    <Member MemberName="DownloadStringCompleted">
      <MemberSignature Language="C#" Value="public event System.Net.DownloadStringCompletedEventHandler DownloadStringCompleted;" />
      <MemberSignature Language="ILAsm" Value=".event class System.Net.DownloadStringCompletedEventHandler DownloadStringCompleted" />
      <MemberType>Event</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.DownloadStringCompletedEventHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This event is raised each time an asynchronous operation to download a resource as a string completes. These operations are started by calling the <see cref="Overload:System.Net.WebClient.DownloadStringAsync" /> methods.</para>
          <para>The <see cref="T:System.Net.DownloadStringCompletedEventHandler" /> is the delegate for this event. The <see cref="T:System.Net.DownloadStringCompletedEventArgs" /> class provides the event handler with event data. </para>
          <para>For more information about handling events, see <format type="text/html"><a href="01e4f1bc-e55e-413f-98c7-6588493e5f67">Consuming Events</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when an asynchronous resource-download operation completes.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="DownloadStringTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;string&gt; DownloadStringTaskAsync (string address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;string&gt; DownloadStringTaskAsync(string address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.String&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the data resource has been downloaded.  The resource is downloaded asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>After downloading the resource, this method uses the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property to convert the resource to a <see cref="T:System.String" />. This method does not block the calling thread while downloading the resource. </para>
          <para>You can use the <see cref="M:System.Net.WebClient.CancelAsync" /> method to cancel asynchronous operations that have not completed.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the resource as a <see cref="T:System.String" /> from the URI specified as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the downloaded resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to download.</param>
      </Docs>
    </Member>
    <Member MemberName="DownloadStringTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;string&gt; DownloadStringTaskAsync (Uri address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;string&gt; DownloadStringTaskAsync(class System.Uri address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Diagnostics.DebuggerStepThrough</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Runtime.CompilerServices.AsyncStateMachine(typeof(System.Net.WebClient/&lt;DownloadStringTaskAsync&gt;c__async7))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.String&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the data resource has been downloaded. The resource is downloaded asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>After downloading the resource, this method uses the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property to convert the resource to a <see cref="T:System.String" />. This method does not block the calling thread while downloading the resource. </para>
          <para>You can use the <see cref="M:System.Net.WebClient.CancelAsync" /> method to cancel asynchronous operations that have not completed.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Downloads the resource as a <see cref="T:System.String" /> from the URI specified as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the downloaded resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to download.</param>
      </Docs>
    </Member>
    <Member MemberName="Encoding">
      <MemberSignature Language="C#" Value="public System.Text.Encoding Encoding { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Text.Encoding Encoding" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Text.Encoding</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="Overload:System.Net.WebClient.UploadString" /> and <see cref="Overload:System.Net.WebClient.UploadStringAsync" /> methods use this property to convert the specified string to a <see cref="T:System.Byte" /> array before uploading the string. For additional information, see the <see cref="Overload:System.Text.Encoding.GetBytes" /> method.</para>
          <para>When a string is downloaded using the <see cref="Overload:System.Net.WebClient.DownloadString" /> or <see cref="Overload:System.Net.WebClient.DownloadStringAsync" /> methods, <see cref="T:System.Net.WebClient" /> uses the <see cref="T:System.Text.Encoding" /> returned by this to convert the downloaded <see cref="T:System.Byte" /> array into a string. For additional information, see the <see cref="Overload:System.Text.Encoding.GetString" /> method.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets and sets the <see cref="T:System.Text.Encoding" /> used to upload and download strings.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="GetWebRequest">
      <MemberSignature Language="C#" Value="protected virtual System.Net.WebRequest GetWebRequest (Uri address);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.Net.WebRequest GetWebRequest(class System.Uri address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.WebRequest</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method copies the existing <see cref="P:System.Net.WebClient.Headers" />, <see cref="P:System.Net.WebClient.Credentials" />, and method to the newly created <see cref="T:System.Net.WebRequest" /> object.</para>
          <para>This method can be called only by classes that inherit from <see cref="T:System.Net.WebClient" />. It is provided to give inheritors access to the underlying <see cref="T:System.Net.WebRequest" /> object. Derived classes should call the base class implementation of <see cref="M:System.Net.WebClient.GetWebRequest(System.Uri)" /> to ensure the method works as expected.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns a <see cref="T:System.Net.WebRequest" /> object for the specified resource.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A new <see cref="T:System.Net.WebRequest" /> object for the specified resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Uri" /> that identifies the resource to request.</param>
      </Docs>
    </Member>
    <Member MemberName="GetWebResponse">
      <MemberSignature Language="C#" Value="protected virtual System.Net.WebResponse GetWebResponse (System.Net.WebRequest request);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.Net.WebResponse GetWebResponse(class System.Net.WebRequest request) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.WebResponse</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="request" Type="System.Net.WebRequest" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The object returned by this method is obtained by calling the <see cref="M:System.Net.WebRequest.GetResponse" /> method on the specified <see cref="T:System.Net.WebRequest" /> object. </para>
          <para>This method can be called only by classes that inherit from <see cref="T:System.Net.WebClient" />. It is provided to give inheritors access to the underlying <see cref="T:System.Net.WebResponse" /> object.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns the <see cref="T:System.Net.WebResponse" /> for the specified <see cref="T:System.Net.WebRequest" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Net.WebResponse" /> containing the response for the specified <see cref="T:System.Net.WebRequest" />.</para>
        </returns>
        <param name="request">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Net.WebRequest" /> that is used to obtain the response. </param>
      </Docs>
    </Member>
    <Member MemberName="GetWebResponse">
      <MemberSignature Language="C#" Value="protected virtual System.Net.WebResponse GetWebResponse (System.Net.WebRequest request, IAsyncResult result);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.Net.WebResponse GetWebResponse(class System.Net.WebRequest request, class System.IAsyncResult result) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.WebResponse</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="request" Type="System.Net.WebRequest" />
        <Parameter Name="result" Type="System.IAsyncResult" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The object returned by this method is obtained by calling the <see cref="M:System.Net.WebRequest.EndGetResponse(System.IAsyncResult)" /> method on the specified <see cref="T:System.Net.WebRequest" /> object. </para>
          <para>This method can be called only by classes that inherit from <see cref="T:System.Net.WebClient" />. It is provided to give inheritors access to the underlying <see cref="T:System.Net.WebResponse" /> object.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns the <see cref="T:System.Net.WebResponse" /> for the specified <see cref="T:System.Net.WebRequest" /> using the specified <see cref="T:System.IAsyncResult" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Net.WebResponse" /> containing the response for the specified <see cref="T:System.Net.WebRequest" />.</para>
        </returns>
        <param name="request">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Net.WebRequest" /> that is used to obtain the response.</param>
        <param name="result">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.IAsyncResult" /> object obtained from a previous call to <see cref="M:System.Net.WebRequest.BeginGetResponse(System.AsyncCallback,System.Object)" /> .</param>
      </Docs>
    </Member>
    <Member MemberName="Headers">
      <MemberSignature Language="ILASM" Value=".property class System.Net.WebHeaderCollection Headers { public hidebysig specialname instance class System.Net.WebHeaderCollection get_Headers() public hidebysig specialname instance void set_Headers(class System.Net.WebHeaderCollection value) }" />
      <MemberSignature Language="C#" Value="public System.Net.WebHeaderCollection Headers { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Net.WebHeaderCollection Headers" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.WebHeaderCollection</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para> A <see cref="T:System.Net.WebHeaderCollection" /> containing header 
   name/value pairs associated with the request or, if this property has not been
   set or was set to <see langword="null" />, a new instance of the <see cref="T:System.Net.WebHeaderCollection" />
   class.</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Net.WebClient.Headers" /> property contains a <see cref="T:System.Net.WebHeaderCollection" /> instance containing protocol headers that the <see cref="T:System.Net.WebClient" /> sends with the request. </para>
          <para>Some common headers are considered restricted and are protected by the system and cannot be set or changed in a <see cref="T:System.Net.WebHeaderCollection" /> object. Any attempt to set one of these restricted headers in the <see cref="T:System.Net.WebHeaderCollection" /> object associated with a <see cref="T:System.Net.WebClient" /> object will throw an exception later when attempting to send the <see cref="T:System.Net.WebClient" /> request.</para>
          <para>Restricted headers protected by the system include, but are not limited to the following: </para>
          <list type="bullet">
            <item>
              <para>Date</para>
            </item>
            <item>
              <para>Host</para>
            </item>
          </list>
          <para>In addition, some other headers are also restricted when using a <see cref="T:System.Net.WebClient" /> object. These restricted headers include, but are not limited to the following: </para>
          <list type="bullet">
            <item>
              <para>Accept</para>
            </item>
            <item>
              <para>Connection</para>
            </item>
            <item>
              <para>Content-Length</para>
            </item>
            <item>
              <para>Expect (when the value is set to "100-continue"</para>
            </item>
            <item>
              <para>If-Modified-Since</para>
            </item>
            <item>
              <para>Range</para>
            </item>
            <item>
              <para>Transfer-Encoding</para>
            </item>
          </list>
          <para>The <see cref="T:System.Net.HttpWebRequest" /> class has properties for setting some of the above headers. If it is important for an application to set these headers, then the <see cref="T:System.Net.HttpWebRequest" /> class should be used instead of the <see cref="T:System.Net.WebRequest" /> class. </para>
          <para>You should not assume that the header values will remain unchanged, because Web servers and caches may change or add headers to a Web request.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a collection of header name/value pairs associated with the request.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IsBusy">
      <MemberSignature Language="C#" Value="public bool IsBusy { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool IsBusy" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets whether a Web request is in progress.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="OnDownloadDataCompleted">
      <MemberSignature Language="C#" Value="protected virtual void OnDownloadDataCompleted (System.Net.DownloadDataCompletedEventArgs e);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDownloadDataCompleted(class System.Net.DownloadDataCompletedEventArgs e) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="e" Type="System.Net.DownloadDataCompletedEventArgs" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Classes that inherit from this class can override this method to perform additional tasks when the <see cref="E:System.Net.WebClient.DownloadDataCompleted" /> event occurs.</para>
          <para>Raising an event invokes the event handler through a delegate. For more information, see <format type="text/html"><a href="f2adaf01-1ed1-42e1-8c31-8d467e7e0ee2">Raising an Event</a></format></para>
          <para>The <see cref="M:System.Net.WebClient.OnDownloadDataCompleted(System.Net.DownloadDataCompletedEventArgs)" /> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Raises the <see cref="E:System.Net.WebClient.DownloadDataCompleted" /> event.</para>
        </summary>
        <param name="e">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Net.DownloadDataCompletedEventArgs" /> object that contains event data.</param>
      </Docs>
    </Member>
    <Member MemberName="OnDownloadFileCompleted">
      <MemberSignature Language="C#" Value="protected virtual void OnDownloadFileCompleted (System.ComponentModel.AsyncCompletedEventArgs e);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDownloadFileCompleted(class System.ComponentModel.AsyncCompletedEventArgs e) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="e" Type="System.ComponentModel.AsyncCompletedEventArgs" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Classes that inherit from this class can override this method to perform additional tasks when the <see cref="E:System.Net.WebClient.DownloadFileCompleted" /> event occurs.</para>
          <para>Raising an event invokes the event handler through a delegate. For more information, see <format type="text/html"><a href="f2adaf01-1ed1-42e1-8c31-8d467e7e0ee2">Raising an Event</a></format>.</para>
          <para>The <see cref="M:System.Net.WebClient.OnDownloadFileCompleted(System.ComponentModel.AsyncCompletedEventArgs)" /> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Raises the <see cref="E:System.Net.WebClient.DownloadFileCompleted" /> event.</para>
        </summary>
        <param name="e">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.ComponentModel.AsyncCompletedEventArgs" /> object containing event data.</param>
      </Docs>
    </Member>
    <Member MemberName="OnDownloadProgressChanged">
      <MemberSignature Language="C#" Value="protected virtual void OnDownloadProgressChanged (System.Net.DownloadProgressChangedEventArgs e);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDownloadProgressChanged(class System.Net.DownloadProgressChangedEventArgs e) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="e" Type="System.Net.DownloadProgressChangedEventArgs" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Classes that inherit from this class can override this method to perform additional tasks when the <see cref="E:System.Net.WebClient.DownloadProgressChanged" /> event occurs.</para>
          <para>Raising an event invokes the event handler through a delegate. For more information, see <format type="text/html"><a href="f2adaf01-1ed1-42e1-8c31-8d467e7e0ee2">Raising an Event</a></format>.</para>
          <para>The <see cref="M:System.Net.WebClient.OnDownloadProgressChanged(System.Net.DownloadProgressChangedEventArgs)" /> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Raises the <see cref="E:System.Net.WebClient.DownloadProgressChanged" /> event.</para>
        </summary>
        <param name="e">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Net.DownloadProgressChangedEventArgs" /> object containing event data.</param>
      </Docs>
    </Member>
    <Member MemberName="OnDownloadStringCompleted">
      <MemberSignature Language="C#" Value="protected virtual void OnDownloadStringCompleted (System.Net.DownloadStringCompletedEventArgs e);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDownloadStringCompleted(class System.Net.DownloadStringCompletedEventArgs e) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="e" Type="System.Net.DownloadStringCompletedEventArgs" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Classes that inherit from this class can override this method to perform additional tasks when the <see cref="E:System.Net.WebClient.DownloadStringCompleted" /> event occurs.</para>
          <para>Raising an event invokes the event handler through a delegate. For more information, see <format type="text/html"><a href="f2adaf01-1ed1-42e1-8c31-8d467e7e0ee2">Raising an Event</a></format>.</para>
          <para>The <see cref="M:System.Net.WebClient.OnDownloadStringCompleted(System.Net.DownloadStringCompletedEventArgs)" /> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Raises the <see cref="E:System.Net.WebClient.DownloadStringCompleted" /> event.</para>
        </summary>
        <param name="e">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Net.DownloadStringCompletedEventArgs" /> object containing event data.</param>
      </Docs>
    </Member>
    <Member MemberName="OnOpenReadCompleted">
      <MemberSignature Language="C#" Value="protected virtual void OnOpenReadCompleted (System.Net.OpenReadCompletedEventArgs e);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnOpenReadCompleted(class System.Net.OpenReadCompletedEventArgs e) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="e" Type="System.Net.OpenReadCompletedEventArgs" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Classes that inherit from this class can override this method to perform additional tasks when the <see cref="E:System.Net.WebClient.OpenReadCompleted" /> event occurs.</para>
          <para>Raising an event invokes the event handler through a delegate. For more information, see <format type="text/html"><a href="f2adaf01-1ed1-42e1-8c31-8d467e7e0ee2">Raising an Event</a></format>.</para>
          <para>The <see cref="M:System.Net.WebClient.OnOpenReadCompleted(System.Net.OpenReadCompletedEventArgs)" /> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Raises the <see cref="E:System.Net.WebClient.OpenReadCompleted" /> event.</para>
        </summary>
        <param name="e">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Net.OpenReadCompletedEventArgs" />  object containing event data.</param>
      </Docs>
    </Member>
    <Member MemberName="OnOpenWriteCompleted">
      <MemberSignature Language="C#" Value="protected virtual void OnOpenWriteCompleted (System.Net.OpenWriteCompletedEventArgs e);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnOpenWriteCompleted(class System.Net.OpenWriteCompletedEventArgs e) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="e" Type="System.Net.OpenWriteCompletedEventArgs" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Classes that inherit from this class can override this method to perform additional tasks when the <see cref="E:System.Net.WebClient.OpenWriteCompleted" /> event occurs.</para>
          <para>Raising an event invokes the event handler through a delegate. For more information, see <format type="text/html"><a href="f2adaf01-1ed1-42e1-8c31-8d467e7e0ee2">Raising an Event</a></format>.</para>
          <para>The <see cref="M:System.Net.WebClient.OnOpenWriteCompleted(System.Net.OpenWriteCompletedEventArgs)" /> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Raises the <see cref="E:System.Net.WebClient.OpenWriteCompleted" /> event.</para>
        </summary>
        <param name="e">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Net.OpenWriteCompletedEventArgs" /> object containing event data.</param>
      </Docs>
    </Member>
    <Member MemberName="OnUploadDataCompleted">
      <MemberSignature Language="C#" Value="protected virtual void OnUploadDataCompleted (System.Net.UploadDataCompletedEventArgs e);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnUploadDataCompleted(class System.Net.UploadDataCompletedEventArgs e) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="e" Type="System.Net.UploadDataCompletedEventArgs" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Classes that inherit from this class can override this method to perform additional tasks when the <see cref="E:System.Net.WebClient.UploadDataCompleted" /> event occurs.</para>
          <para>Raising an event invokes the event handler through a delegate. For more information, see <format type="text/html"><a href="f2adaf01-1ed1-42e1-8c31-8d467e7e0ee2">Raising an Event</a></format>.</para>
          <para>The <see cref="M:System.Net.WebClient.OnUploadDataCompleted(System.Net.UploadDataCompletedEventArgs)" /> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Raises the <see cref="E:System.Net.WebClient.UploadDataCompleted" /> event.</para>
        </summary>
        <param name="e">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Net.UploadDataCompletedEventArgs" />  object containing event data.</param>
      </Docs>
    </Member>
    <Member MemberName="OnUploadFileCompleted">
      <MemberSignature Language="C#" Value="protected virtual void OnUploadFileCompleted (System.Net.UploadFileCompletedEventArgs e);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnUploadFileCompleted(class System.Net.UploadFileCompletedEventArgs e) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="e" Type="System.Net.UploadFileCompletedEventArgs" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Classes that inherit from this class can override this method to perform additional tasks when the <see cref="E:System.Net.WebClient.UploadFileCompleted" /> event occurs.</para>
          <para>Raising an event invokes the event handler through a delegate. For more information, see <format type="text/html"><a href="f2adaf01-1ed1-42e1-8c31-8d467e7e0ee2">Raising an Event</a></format>.</para>
          <para>The <see cref="M:System.Net.WebClient.OnUploadFileCompleted(System.Net.UploadFileCompletedEventArgs)" /> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Raises the <see cref="E:System.Net.WebClient.UploadFileCompleted" /> event.</para>
        </summary>
        <param name="e">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Net.UploadFileCompletedEventArgs" /> object containing event data.</param>
      </Docs>
    </Member>
    <Member MemberName="OnUploadProgressChanged">
      <MemberSignature Language="C#" Value="protected virtual void OnUploadProgressChanged (System.Net.UploadProgressChangedEventArgs e);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnUploadProgressChanged(class System.Net.UploadProgressChangedEventArgs e) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="e" Type="System.Net.UploadProgressChangedEventArgs" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Classes that inherit from this class can override this method to perform additional tasks when the <see cref="E:System.Net.WebClient.UploadProgressChanged" /> event occurs.</para>
          <para>Raising an event invokes the event handler through a delegate. For more information, see <format type="text/html"><a href="f2adaf01-1ed1-42e1-8c31-8d467e7e0ee2">Raising an Event</a></format>.</para>
          <para>The <see cref="M:System.Net.WebClient.OnUploadProgressChanged(System.Net.UploadProgressChangedEventArgs)" /> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Raises the <see cref="E:System.Net.WebClient.UploadProgressChanged" /> event.</para>
        </summary>
        <param name="e">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Net.UploadProgressChangedEventArgs" /> object containing event data.</param>
      </Docs>
    </Member>
    <Member MemberName="OnUploadStringCompleted">
      <MemberSignature Language="C#" Value="protected virtual void OnUploadStringCompleted (System.Net.UploadStringCompletedEventArgs e);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnUploadStringCompleted(class System.Net.UploadStringCompletedEventArgs e) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="e" Type="System.Net.UploadStringCompletedEventArgs" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Classes that inherit from this class can override this method to perform additional tasks when the <see cref="E:System.Net.WebClient.UploadStringCompleted" /> event occurs.</para>
          <para>Raising an event invokes the event handler through a delegate. For more information, see <format type="text/html"><a href="f2adaf01-1ed1-42e1-8c31-8d467e7e0ee2">Raising an Event</a></format>.</para>
          <para>The <see cref="M:System.Net.WebClient.OnUploadStringCompleted(System.Net.UploadStringCompletedEventArgs)" /> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Raises the <see cref="E:System.Net.WebClient.UploadStringCompleted" /> event.</para>
        </summary>
        <param name="e">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Net.UploadStringCompletedEventArgs" />  object containing event data.</param>
      </Docs>
    </Member>
    <Member MemberName="OnUploadValuesCompleted">
      <MemberSignature Language="C#" Value="protected virtual void OnUploadValuesCompleted (System.Net.UploadValuesCompletedEventArgs e);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnUploadValuesCompleted(class System.Net.UploadValuesCompletedEventArgs e) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="e" Type="System.Net.UploadValuesCompletedEventArgs" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Classes that inherit from this class can override this method to perform additional tasks when the <see cref="E:System.Net.WebClient.UploadValuesCompleted" /> event occurs.</para>
          <para>Raising an event invokes the event handler through a delegate. For more information, see <format type="text/html"><a href="f2adaf01-1ed1-42e1-8c31-8d467e7e0ee2">Raising an Event</a></format>.</para>
          <para>The <see cref="M:System.Net.WebClient.OnUploadValuesCompleted(System.Net.UploadValuesCompletedEventArgs)" /> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Raises the <see cref="E:System.Net.WebClient.UploadValuesCompleted" /> event.</para>
        </summary>
        <param name="e">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Net.UploadValuesCompletedEventArgs" />  object containing event data.</param>
      </Docs>
    </Member>
    <Member MemberName="OpenRead">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.IO.Stream OpenRead(string address)" />
      <MemberSignature Language="C#" Value="public System.IO.Stream OpenRead (string address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.IO.Stream OpenRead(string address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.IO.Stream</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
      </Parameters>
      <Docs>
        <exception cref="T:System.Net.WebException">
          <para>The absolute URI is not valid.</para>
          <para> -or-</para>
          <para>An error occurred while downloading data.</para>
        </exception>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.OpenRead(System.String)" /> method creates a <see cref="T:System.IO.Stream" /> instance used to read the contents of the resource specified by the <paramref name="address" /> parameter. This method blocks while opening the stream. To continue executing while waiting for the stream, use one of the <see cref="Overload:System.Net.WebClient.OpenReadAsync" /> methods.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not null, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>You must call <see cref="M:System.IO.Stream.Close" /> when finished with the <see cref="T:System.IO.Stream" /> to avoid running out of system resources.</para>
          </block>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a readable stream for the data downloaded from a resource with the URI specified as a <see cref="T:System.String" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.IO.Stream" /> used to read data from a resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI specified as a <see cref="T:System.String" /> from which to download data. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="OpenRead">
      <MemberSignature Language="C#" Value="public System.IO.Stream OpenRead (Uri address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.IO.Stream OpenRead(class System.Uri address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.IO.Stream</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.OpenRead(System.String)" /> method creates a <see cref="T:System.IO.Stream" /> instance used to read the contents of the resource specified by the <paramref name="address" /> parameter. This method blocks while opening the stream. To continue executing while waiting for the stream, use one of the <see cref="Overload:System.Net.WebClient.OpenReadAsync" /> methods.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not null, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>You must call <see cref="M:System.IO.Stream.Close" /> when finished with the <see cref="T:System.IO.Stream" /> to avoid running out of system resources.</para>
          </block>
          <para>Note   This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a readable stream for the data downloaded from a resource with the URI specified as a <see cref="T:System.Uri" /></para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.IO.Stream" /> used to read data from a resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI specified as a <see cref="T:System.Uri" /> from which to download data. </param>
      </Docs>
    </Member>
    <Member MemberName="OpenReadAsync">
      <MemberSignature Language="C#" Value="public void OpenReadAsync (Uri address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void OpenReadAsync(class System.Uri address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method retrieves a <see cref="T:System.IO.Stream" /> instance used to access the resource specified by the <paramref name="address" /> parameter. The stream is obtained using thread resources that are automatically allocated from the thread pool. To receive notification when the stream is available, add an event handler to the <see cref="E:System.Net.WebClient.OpenReadCompleted" /> event. </para>
          <block subset="none" type="note">
            <para> You must call <see cref="M:System.IO.Stream.Close" /> when you are finished with the <see cref="T:System.IO.Stream" /> to avoid running out of system resources.</para>
          </block>
          <para>This method does not block the calling thread while the stream is opening. To block while waiting for the stream, use the <see cref="M:System.Net.WebClient.OpenReadAsync(System.Uri)" /> method.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not specify an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested resource. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not null, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a readable stream containing the specified resource. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to retrieve.</param>
      </Docs>
    </Member>
    <Member MemberName="OpenReadAsync">
      <MemberSignature Language="C#" Value="public void OpenReadAsync (Uri address, object userToken);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void OpenReadAsync(class System.Uri address, object userToken) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="userToken" Type="System.Object" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method retrieves a <see cref="T:System.IO.Stream" /> instance used to access the resource specified by the <paramref name="address" /> parameter. The stream is obtained using thread resources that are automatically allocated from the thread pool. To receive notification when the stream is available, add an event handler to the <see cref="E:System.Net.WebClient.OpenReadCompleted" /> event. </para>
          <block subset="none" type="note">
            <para> You must call <see cref="M:System.IO.Stream.Close" /> when you are finished with the <see cref="T:System.IO.Stream" /> to avoid running out of system resources.</para>
          </block>
          <para>This method does not block the calling thread while the stream is opening. To block while waiting for the stream, use the <see cref="M:System.Net.WebClient.OpenRead(System.Uri)" /> method.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not specify an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested resource. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not null, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a readable stream containing the specified resource. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to retrieve.</param>
        <param name="userToken">
          <attribution license="cc4" from="Microsoft" modified="false" />A user-defined object that is passed to the method invoked when the asynchronous operation completes.</param>
      </Docs>
    </Member>
    <Member MemberName="OpenReadCompleted">
      <MemberSignature Language="C#" Value="public event System.Net.OpenReadCompletedEventHandler OpenReadCompleted;" />
      <MemberSignature Language="ILAsm" Value=".event class System.Net.OpenReadCompletedEventHandler OpenReadCompleted" />
      <MemberType>Event</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.OpenReadCompletedEventHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This event is raised each time an asynchronous operation to open a stream containing a resource completes. These operations are started by calling the <see cref="Overload:System.Net.WebClient.OpenReadAsync" /> methods.</para>
          <para>The <see cref="T:System.Net.OpenReadCompletedEventHandler" /> is the delegate for this event. The <see cref="T:System.Net.OpenReadCompletedEventArgs" /> class provides the event handler with event data. </para>
          <para>For more information about handling events, see <format type="text/html"><a href="01e4f1bc-e55e-413f-98c7-6588493e5f67">Consuming Events</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when an asynchronous operation to open a stream containing a resource completes.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="OpenReadTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;System.IO.Stream&gt; OpenReadTaskAsync (string address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;class System.IO.Stream&gt; OpenReadTaskAsync(string address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.IO.Stream&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the a readable stream to the data resource has been opened. This method does not block the calling thread while the stream is opening.</para>
          <para>This method retrieves a <see cref="T:System.IO.Stream" /> instance used to access the resource specified by the <paramref name="address" /> parameter. The stream is obtained using thread resources that are automatically allocated from the thread pool. </para>
          <block subset="none" type="note">
            <para> You must call <see cref="M:System.IO.Stream.Close" /> when you are finished with the <see cref="T:System.IO.Stream" /> to avoid running out of system resources.</para>
          </block>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not specify an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested resource. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not null, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a readable stream containing the specified resource as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.IO.Stream" /> used to read data from a resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to retrieve.</param>
      </Docs>
    </Member>
    <Member MemberName="OpenReadTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;System.IO.Stream&gt; OpenReadTaskAsync (Uri address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;class System.IO.Stream&gt; OpenReadTaskAsync(class System.Uri address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Diagnostics.DebuggerStepThrough</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Runtime.CompilerServices.AsyncStateMachine(typeof(System.Net.WebClient/&lt;OpenReadTaskAsync&gt;c__async6))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.IO.Stream&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the a readable stream to the data resource has been opened. This method does not block the calling thread while the stream is opening.</para>
          <para>This method retrieves a <see cref="T:System.IO.Stream" /> instance used to access the resource specified by the <paramref name="address" /> parameter. The stream is obtained using thread resources that are automatically allocated from the thread pool. </para>
          <block subset="none" type="note">
            <para> You must call <see cref="M:System.IO.Stream.Close" /> when you are finished with the <see cref="T:System.IO.Stream" /> to avoid running out of system resources.</para>
          </block>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not specify an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested resource. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not null, it is appended to <paramref name="address" />.</para>
          <para>This method uses the RETR command to download an FTP resource. For an HTTP resource, the GET method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a readable stream containing the specified resource as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.IO.Stream" /> used to read data from a resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to retrieve.</param>
      </Docs>
    </Member>
    <Member MemberName="OpenWrite">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.IO.Stream OpenWrite(string address)" />
      <MemberSignature Language="C#" Value="public System.IO.Stream OpenWrite (string address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.IO.Stream OpenWrite(string address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.IO.Stream</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
      </Parameters>
      <Docs>
        <exception cref="T:System.Net.WebException">
          <para>The absolute URI is not valid.</para>
          <para> -or-</para>
          <para>An error occurred while opening the stream.</para>
        </exception>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.OpenWrite(System.String)" /> method returns a writable stream that is used to send data to a resource. This method blocks while opening the stream. To continue executing while waiting for the stream, use one of the <see cref="Overload:System.Net.WebClient.OpenWriteAsync" /> methods.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a stream for writing data to the specified resource.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.IO.Stream" /> used to write data to the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="OpenWrite">
      <MemberSignature Language="C#" Value="public System.IO.Stream OpenWrite (Uri address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.IO.Stream OpenWrite(class System.Uri address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.IO.Stream</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.OpenWrite(System.String)" /> method returns a writable stream that is used to send data to a resource. This method blocks while opening the stream. To continue executing while waiting for the stream, use one of the <see cref="Overload:System.Net.WebClient.OpenWriteAsync" /> methods.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a stream for writing data to the specified resource.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.IO.Stream" /> used to write data to the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data.</param>
      </Docs>
    </Member>
    <Member MemberName="OpenWrite">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.IO.Stream OpenWrite(string address, string method)" />
      <MemberSignature Language="C#" Value="public System.IO.Stream OpenWrite (string address, string method);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.IO.Stream OpenWrite(string address, string method) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.IO.Stream</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="method" Type="System.String" />
      </Parameters>
      <Docs>
        <exception cref="T:System.Net.WebException">
          <para>The absolute URI is not valid.</para>
          <para> -or-</para>
          <para>An error occurred while opening the stream.</para>
        </exception>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.OpenWrite(System.String)" /> method returns a writable stream that is used to send data to a resource. The underlying request is made with the method specified in the <paramref name="method" /> parameter. The data is sent to the server when you close the stream. This method blocks while opening the stream. To continue executing while waiting for the stream, use one of the <see cref="Overload:System.Net.WebClient.OpenWriteAsync" /> methods.</para>
          <para>If the <paramref name="method" /> parameter specifies a method that is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not specify an absolute address, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a stream for writing data to the specified resource, using the specified method.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.IO.Stream" /> used to write data to the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data. </param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="OpenWrite">
      <MemberSignature Language="C#" Value="public System.IO.Stream OpenWrite (Uri address, string method);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.IO.Stream OpenWrite(class System.Uri address, string method) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.IO.Stream</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.OpenWrite(System.String)" /> method returns a writable stream that is used to send data to a resource. This method blocks while opening the stream. To continue executing while waiting for the stream, use one of the <see cref="Overload:System.Net.WebClient.OpenWriteAsync" /> methods.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a stream for writing data to the specified resource, by using the specified method.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.IO.Stream" /> used to write data to the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
      </Docs>
    </Member>
    <Member MemberName="OpenWriteAsync">
      <MemberSignature Language="C#" Value="public void OpenWriteAsync (Uri address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void OpenWriteAsync(class System.Uri address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method retrieves a writable stream that is used to send data to a resource. The stream is retrieved using thread resources that are automatically allocated from the thread pool. To receive notification when the stream is available, add an event handler to the <see cref="E:System.Net.WebClient.OpenWriteCompleted" /> event. When you close the stream, the thread blocks until the request is sent to <paramref name="address" /> and a response is received.</para>
          <para>This method does not block the calling thread while the stream is being opened. To block while waiting for the stream, use one of the <see cref="Overload:System.Net.WebClient.OpenWrite" /> methods.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a stream for writing data to the specified resource. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data. </param>
      </Docs>
    </Member>
    <Member MemberName="OpenWriteAsync">
      <MemberSignature Language="C#" Value="public void OpenWriteAsync (Uri address, string method);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void OpenWriteAsync(class System.Uri address, string method) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method retrieves a writable stream that is used to send data to a resource. The stream is retrieved using thread resources that are automatically allocated from the thread pool. To receive notification when the stream is available, add an event handler to the <see cref="E:System.Net.WebClient.OpenWriteCompleted" /> event. When you close the stream, the thread blocks until the request is sent to <paramref name="address" /> and a response is received.</para>
          <para>This method does not block the calling thread while the stream is being opened. To block while waiting for the stream, use one of the <see cref="Overload:System.Net.WebClient.OpenWrite" /> methods.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a stream for writing data to the specified resource. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data. </param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
      </Docs>
    </Member>
    <Member MemberName="OpenWriteAsync">
      <MemberSignature Language="C#" Value="public void OpenWriteAsync (Uri address, string method, object userToken);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void OpenWriteAsync(class System.Uri address, string method, object userToken) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="userToken" Type="System.Object" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method retrieves a writable stream that is used to send data to a resource. The stream is retrieved asynchronously using thread resources that are automatically allocated from the thread pool. To receive notification when the stream is available, add an event handler to the <see cref="E:System.Net.WebClient.OpenWriteCompleted" /> event. The contents of the stream are sent to the server when you close the stream.</para>
          <para>If the <paramref name="method" /> parameter specifies a method that is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>This method does not block the calling thread while the stream is being opened. To block while waiting for the stream, use one of the <see cref="Overload:System.Net.WebClient.OpenWrite" /> methods.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a stream for writing data to the specified resource, using the specified method. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="userToken">
          <attribution license="cc4" from="Microsoft" modified="false" />A user-defined object that is passed to the method invoked when the asynchronous operation completes</param>
      </Docs>
    </Member>
    <Member MemberName="OpenWriteCompleted">
      <MemberSignature Language="C#" Value="public event System.Net.OpenWriteCompletedEventHandler OpenWriteCompleted;" />
      <MemberSignature Language="ILAsm" Value=".event class System.Net.OpenWriteCompletedEventHandler OpenWriteCompleted" />
      <MemberType>Event</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.OpenWriteCompletedEventHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This event is raised each time an asynchronous operation to open a stream that is used to send data to a resource completes. These operations are started by calling the <see cref="Overload:System.Net.WebClient.OpenWriteAsync" /> methods.</para>
          <para>The <see cref="T:System.Net.OpenWriteCompletedEventHandler" /> is the delegate for this event. The <see cref="T:System.Net.OpenWriteCompletedEventArgs" /> class provides the event handler with event data. </para>
          <para>For more information about handling events, see <format type="text/html"><a href="01e4f1bc-e55e-413f-98c7-6588493e5f67">Consuming Events</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when an asynchronous operation to open a stream to write data to a resource completes.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="OpenWriteTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;System.IO.Stream&gt; OpenWriteTaskAsync (string address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;class System.IO.Stream&gt; OpenWriteTaskAsync(string address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.IO.Stream&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the a writable stream to the data resource has been opened. This method does not block the calling thread while the stream is opening.</para>
          <para>This method retrieves a <see cref="T:System.IO.Stream" /> instance used to write data to the resource specified by the <paramref name="address" /> parameter. The stream is obtained using thread resources that are automatically allocated from the thread pool. </para>
          <block subset="none" type="note">
            <para> You must call <see cref="M:System.IO.Stream.Close" /> when you are finished with the <see cref="T:System.IO.Stream" /> to avoid running out of system resources.</para>
          </block>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a stream for writing data to the specified resource as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.IO.Stream" /> used to write data to the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data.</param>
      </Docs>
    </Member>
    <Member MemberName="OpenWriteTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;System.IO.Stream&gt; OpenWriteTaskAsync (Uri address);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;class System.IO.Stream&gt; OpenWriteTaskAsync(class System.Uri address) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.IO.Stream&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the a writable stream to the data resource has been opened. This method does not block the calling thread while the stream is opening.</para>
          <para>This method retrieves a <see cref="T:System.IO.Stream" /> instance used to write data to the resource specified by the <paramref name="address" /> parameter. The stream is obtained using thread resources that are automatically allocated from the thread pool. </para>
          <block subset="none" type="note">
            <para> You must call <see cref="M:System.IO.Stream.Close" /> when you are finished with the <see cref="T:System.IO.Stream" /> to avoid running out of system resources.</para>
          </block>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a stream for writing data to the specified resource as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.IO.Stream" /> used to write data to the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data.</param>
      </Docs>
    </Member>
    <Member MemberName="OpenWriteTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;System.IO.Stream&gt; OpenWriteTaskAsync (string address, string method);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;class System.IO.Stream&gt; OpenWriteTaskAsync(string address, string method) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.IO.Stream&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="method" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the a writable stream to the data resource has been opened. This method does not block the calling thread while the stream is opening.</para>
          <para>This method retrieves a <see cref="T:System.IO.Stream" /> instance used to write data to the resource specified by the <paramref name="address" /> parameter. The stream is obtained using thread resources that are automatically allocated from the thread pool. </para>
          <block subset="none" type="note">
            <para> You must call <see cref="M:System.IO.Stream.Close" /> when you are finished with the <see cref="T:System.IO.Stream" /> to avoid running out of system resources.</para>
          </block>
          <para>If the <paramref name="method" /> parameter specifies a method that is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a stream for writing data to the specified resource as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.IO.Stream" /> used to write data to the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
      </Docs>
    </Member>
    <Member MemberName="OpenWriteTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;System.IO.Stream&gt; OpenWriteTaskAsync (Uri address, string method);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;class System.IO.Stream&gt; OpenWriteTaskAsync(class System.Uri address, string method) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Diagnostics.DebuggerStepThrough</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Runtime.CompilerServices.AsyncStateMachine(typeof(System.Net.WebClient/&lt;OpenWriteTaskAsync&gt;c__async8))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.IO.Stream&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the a writable stream to the data resource has been opened. This method does not block the calling thread while the stream is opening.</para>
          <para>This method retrieves a <see cref="T:System.IO.Stream" /> instance used to write data to the resource specified by the <paramref name="address" /> parameter. The stream is obtained using thread resources that are automatically allocated from the thread pool. </para>
          <block subset="none" type="note">
            <para> You must call <see cref="M:System.IO.Stream.Close" /> when you are finished with the <see cref="T:System.IO.Stream" /> to avoid running out of system resources.</para>
          </block>
          <para>If the <paramref name="method" /> parameter specifies a method that is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Opens a stream for writing data to the specified resource as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.IO.Stream" /> used to write data to the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
      </Docs>
    </Member>
    <Member MemberName="Proxy">
      <MemberSignature Language="C#" Value="public System.Net.IWebProxy Proxy { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Net.IWebProxy Proxy" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.IWebProxy</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Net.WebClient.Proxy" /> property identifies the <see cref="T:System.Net.IWebProxy" /> instance that communicates with remote servers on behalf of this <see cref="T:System.Net.WebClient" /> object. The proxy is set by the system using configuration files and the Internet Explorer Local Area Network settings. To specify that no proxy should be used, set the <see cref="P:System.Net.WebClient.Proxy" /> property to the proxy instance returned by the <see cref="M:System.Net.GlobalProxySelection.GetEmptyWebProxy" /> method. </para>
          <para>For information on automatic proxy detection, see <format type="text/html"><a href="fcd9c3bd-93de-4c92-8ff3-837327ad18de">Automatic Proxy Detection</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the proxy used by this <see cref="T:System.Net.WebClient" /> object.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="QueryString">
      <MemberSignature Language="ILASM" Value=".property class System.Collections.Specialized.NameValueCollection QueryString { public hidebysig specialname instance class System.Collections.Specialized.NameValueCollection get_QueryString() public hidebysig specialname instance void set_QueryString(class System.Collections.Specialized.NameValueCollection value) }" />
      <MemberSignature Language="C#" Value="public System.Collections.Specialized.NameValueCollection QueryString { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Specialized.NameValueCollection QueryString" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.Specialized.NameValueCollection</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para> A <see cref="T:System.Collections.Specialized.NameValueCollection" /> that contains query name/value
   pairs associated with the request or, if this property has not been
   set or was set to <see langword="null" />, a new instance of the <see cref="T:System.Collections.Specialized.NameValueCollection" />
   class.</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Net.WebClient.QueryString" /> property contains a <see cref="T:System.Collections.Specialized.NameValueCollection" /> instance containing name/value pairs that are appended to the URI as a query string. The contents of the <see cref="P:System.Net.WebClient.QueryString" /> property are preceded by a question mark (?), and name/value pairs are separated from one another by an ampersand (&amp;).</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a collection of query name/value pairs associated with the request.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="ResponseHeaders">
      <MemberSignature Language="ILASM" Value=".property class System.Net.WebHeaderCollection ResponseHeaders { public hidebysig specialname instance class System.Net.WebHeaderCollection get_ResponseHeaders() }" />
      <MemberSignature Language="C#" Value="public System.Net.WebHeaderCollection ResponseHeaders { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Net.WebHeaderCollection ResponseHeaders" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.WebHeaderCollection</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para> A <see cref="T:System.Net.WebHeaderCollection" /> containing header name/value
   pairs associated with the response.</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Net.WebClient.ResponseHeaders" /> property contains a <see cref="T:System.Net.WebHeaderCollection" /> instance containing header information the <see cref="T:System.Net.WebClient" /> receives with the response.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a collection of header name/value pairs associated with the response.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UploadData">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Byte[] UploadData(string address, class System.Byte[] data)" />
      <MemberSignature Language="C#" Value="public byte[] UploadData (string address, byte[] data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] UploadData(string address, unsigned int8[] data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="data" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <exception cref="T:System.Net.WebException">
          <para>The absolute URI is not valid.</para>
          <para> -or-</para>
          <para>
            <paramref name="data" /> is <see langword="null" />.</para>
          <para>-or-</para>
          <para>An error occurred while opening the stream or uploading the data.</para>
          <para>-or-</para>
          <para>There was no response from the server hosting the resource.</para>
        </exception>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.UploadData(System.String,System.Byte[])" /> method sends a data buffer to a resource. </para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used. If the underlying request is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>The <see cref="M:System.Net.WebClient.UploadData(System.String,System.Byte[])" /> method sends the content of <paramref name="data" /> to the server without encoding it. This method blocks while uploading the data. To continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadDataAsync" /> methods.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads a data buffer to a resource identified by a URI.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Byte" /> array containing the body of the response from the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data. </param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The data buffer to send to the resource. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UploadData">
      <MemberSignature Language="C#" Value="public byte[] UploadData (Uri address, byte[] data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] UploadData(class System.Uri address, unsigned int8[] data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="data" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.UploadData(System.String,System.Byte[])" /> method sends a data buffer to a resource. </para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used. If the underlying request is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>The <see cref="M:System.Net.WebClient.UploadData(System.String,System.Byte[])" /> method sends the content of <paramref name="data" /> to the server without encoding it. This method blocks while uploading the data. To continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadDataAsync" /> methods.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads a data buffer to a resource identified by a URI.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Byte" /> array containing the body of the response from the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data. </param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The data buffer to send to the resource. </param>
      </Docs>
    </Member>
    <Member MemberName="UploadData">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Byte[] UploadData(string address, string method, class System.Byte[] data)" />
      <MemberSignature Language="C#" Value="public byte[] UploadData (string address, string method, byte[] data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] UploadData(string address, string method, unsigned int8[] data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <exception cref="T:System.Net.WebException">
          <para>The absolute URI is not valid.</para>
          <para> -or-</para>
          <para>
            <paramref name="data" /> is <see langword="null" />.</para>
          <para>-or-</para>
          <para>An error occurred while opening the stream or uploading the data.</para>
          <para>-or-</para>
          <para>There was no response from the server hosting the resource.</para>
        </exception>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.UploadData(System.String,System.Byte[])" /> method sends a data buffer to a resource using the HTTP method specified in the <paramref name="method" /> parameter, and returns any response from the server. This method blocks while uploading the data. To continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadDataAsync" /> methods.</para>
          <para>The <see cref="M:System.Net.WebClient.UploadData(System.String,System.Byte[])" /> method sends the content of <paramref name="data" /> to the server without encoding it.</para>
          <para>If the <paramref name="method" /> parameter specifies a verb that is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads a data buffer to the specified resource, using the specified method.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Byte" /> array containing the body of the response from the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data. </param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The HTTP method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The data buffer to send to the resource. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UploadData">
      <MemberSignature Language="C#" Value="public byte[] UploadData (Uri address, string method, byte[] data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] UploadData(class System.Uri address, string method, unsigned int8[] data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.UploadData(System.String,System.Byte[])" /> method sends a data buffer to a resource using the HTTP method specified in the <paramref name="method" /> parameter, and returns any response from the server. This method blocks while uploading the data. To continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadDataAsync" /> methods.</para>
          <para>The <see cref="M:System.Net.WebClient.UploadData(System.String,System.Byte[])" /> method sends the content of <paramref name="data" /> to the server without encoding it.</para>
          <para>If the <paramref name="method" /> parameter specifies a verb that is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads a data buffer to the specified resource, using the specified method.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Byte" /> array containing the body of the response from the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data. </param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The HTTP method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The data buffer to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadDataAsync">
      <MemberSignature Language="C#" Value="public void UploadDataAsync (Uri address, byte[] data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UploadDataAsync(class System.Uri address, unsigned int8[] data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="data" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>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 <see cref="E:System.Net.WebClient.UploadDataCompleted" /> event. </para>
          <para>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 <see cref="Overload:System.Net.WebClient.UploadData" /> methods. </para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads a data buffer to a resource identified by a URI, using the POST method. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data. </param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The data buffer to send to the resource. </param>
      </Docs>
    </Member>
    <Member MemberName="UploadDataAsync">
      <MemberSignature Language="C#" Value="public void UploadDataAsync (Uri address, string method, byte[] data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UploadDataAsync(class System.Uri address, string method, unsigned int8[] data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>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 <see cref="E:System.Net.WebClient.UploadDataCompleted" /> event. </para>
          <para>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 <see cref="Overload:System.Net.WebClient.UploadData" /> methods. </para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads a data buffer to a resource identified by a URI, using the specified method. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The data buffer to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadDataAsync">
      <MemberSignature Language="C#" Value="public void UploadDataAsync (Uri address, string method, byte[] data, object userToken);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UploadDataAsync(class System.Uri address, string method, unsigned int8[] data, object userToken) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.Byte[]" />
        <Parameter Name="userToken" Type="System.Object" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>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 <see cref="E:System.Net.WebClient.UploadDataCompleted" /> event. </para>
          <para>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 <see cref="Overload:System.Net.WebClient.UploadData" /> methods. </para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads a data buffer to a resource identified by a URI, using the specified method and identifying token.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The data buffer to send to the resource.</param>
        <param name="userToken">
          <attribution license="cc4" from="Microsoft" modified="false" />A user-defined object that is passed to the method invoked when the asynchronous operation completes.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadDataCompleted">
      <MemberSignature Language="C#" Value="public event System.Net.UploadDataCompletedEventHandler UploadDataCompleted;" />
      <MemberSignature Language="ILAsm" Value=".event class System.Net.UploadDataCompletedEventHandler UploadDataCompleted" />
      <MemberType>Event</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.UploadDataCompletedEventHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This event is raised each time an asynchronous data upload operation completes. Asynchronous data uploads are started by calling the <see cref="Overload:System.Net.WebClient.UploadDataAsync" /> methods.</para>
          <para>The <see cref="T:System.Net.UploadDataCompletedEventHandler" /> is the delegate for this event. The <see cref="T:System.Net.UploadDataCompletedEventArgs" /> class provides the event handler with event data. </para>
          <para>For more information about handling events, see <format type="text/html"><a href="01e4f1bc-e55e-413f-98c7-6588493e5f67">Consuming Events</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when an asynchronous data-upload operation completes.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="UploadDataTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;byte[]&gt; UploadDataTaskAsync (string address, byte[] data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;unsigned int8[]&gt; UploadDataTaskAsync(string address, unsigned int8[] data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.Byte[]&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="data" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the a data buffer has been uploaded to the resource. </para>
          <para>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. </para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads a data buffer that contains a <see cref="T:System.Byte" /> array to the URI specified as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the body of the response received from the resource when the data buffer was uploaded.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The data buffer to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadDataTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;byte[]&gt; UploadDataTaskAsync (Uri address, byte[] data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;unsigned int8[]&gt; UploadDataTaskAsync(class System.Uri address, unsigned int8[] data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.Byte[]&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="data" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the a data buffer has been uploaded to the resource. </para>
          <para>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. </para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads a data buffer that contains a <see cref="T:System.Byte" /> array to the URI specified as an asynchronous operation using a task object.  </para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the body of the response received from the resource when the data buffer was uploaded.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The data buffer to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadDataTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;byte[]&gt; UploadDataTaskAsync (string address, string method, byte[] data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;unsigned int8[]&gt; UploadDataTaskAsync(string address, string method, unsigned int8[] data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.Byte[]&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the a data buffer has been uploaded to the resource. </para>
          <para>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. </para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads a data buffer that contains a <see cref="T:System.Byte" /> array to the URI specified as an asynchronous operation using a task object.  </para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the body of the response received from the resource when the data buffer was uploaded.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The data buffer to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadDataTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;byte[]&gt; UploadDataTaskAsync (Uri address, string method, byte[] data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;unsigned int8[]&gt; UploadDataTaskAsync(class System.Uri address, string method, unsigned int8[] data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Diagnostics.DebuggerStepThrough</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Runtime.CompilerServices.AsyncStateMachine(typeof(System.Net.WebClient/&lt;UploadDataTaskAsync&gt;c__async9))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.Byte[]&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the a data buffer has been uploaded to the resource. </para>
          <para>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. </para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads a data buffer that contains a <see cref="T:System.Byte" /> array to the URI specified as an asynchronous operation using a task object.  </para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the body of the response received from the resource when the data buffer was uploaded.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the data.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The data buffer to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadFile">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Byte[] UploadFile(string address, string fileName)" />
      <MemberSignature Language="C#" Value="public byte[] UploadFile (string address, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] UploadFile(string address, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <exception cref="T:System.Net.WebException">
          <para>The absolute URI is not valid.</para>
          <para> -or-</para>
          <para>
            <paramref name="filename" /> is <see langword="null" /> or <see cref="F:System.String.Empty" /> or contains invalid characters, or the specified path to the file does not exist.</para>
          <para>-or-</para>
          <para>An error occurred while opening the stream or uploading the file.</para>
          <para>-or-</para>
          <para>There was no response from the server hosting the resource.</para>
          <para>-or-</para>
          <para>The Content-Type header begins with "multipart".</para>
        </exception>
        <exception cref="T:System.Security.SecurityException">Local file access has not been granted.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information and read files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" /> and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" />.</permission>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.UploadFile(System.String,System.String)" /> method sends a local file to a resource. This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <para>This method blocks while uploading the file. To continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadFileAsync" /> methods.</para>
          <para>The POST method is defined by HTTP. If the underlying request does not use HTTP and POST is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified local file to a resource with the specified URI.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Byte" /> array containing the body of the response from the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the file. For example, ftp://localhost/samplefile.txt.</param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The file to send to the resource. For example, "samplefile.txt".</param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UploadFile">
      <MemberSignature Language="C#" Value="public byte[] UploadFile (Uri address, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] UploadFile(class System.Uri address, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.UploadFile(System.String,System.String)" /> method sends a local file to a resource. This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <para>This method blocks while uploading the file. To continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadFileAsync" /> methods.</para>
          <para>The POST method is defined by HTTP. If the underlying request does not use HTTP and POST is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified local file to a resource with the specified URI.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Byte" /> array containing the body of the response from the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the file. For example, ftp://localhost/samplefile.txt.</param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The file to send to the resource. For example, "samplefile.txt".</param>
      </Docs>
    </Member>
    <Member MemberName="UploadFile">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Byte[] UploadFile(string address, string method, string fileName)" />
      <MemberSignature Language="C#" Value="public byte[] UploadFile (string address, string method, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] UploadFile(string address, string method, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <exception cref="T:System.Net.WebException">
          <para>The absolute URI is not valid.</para>
          <para> -or-</para>
          <para>
            <paramref name="filename" /> is <see langword="null" /> or <see cref="F:System.String.Empty" /> or contains invalid characters, or the specified path to the file does not exist.</para>
          <para>-or-</para>
          <para>An error occurred while opening the stream or uploading the file.</para>
          <para>-or-</para>
          <para>There was no response from the server hosting the resource.</para>
          <para>-or-</para>
          <para>The Content-Type header begins with "multipart".</para>
        </exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permissions.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information and read files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" /> and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" />.</permission>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When address specifies an HTTP resource, the <see cref="M:System.Net.WebClient.UploadFile(System.String,System.String)" /> method sends a local file to a resource using the HTTP method specified in the <paramref name="method" /> parameter and returns any response from the server. This method blocks while uploading the file. To continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadFileAsync" /> methods.</para>
          <para>If the <paramref name="method" /> parameter specifies a verb that is not understood by the server or the <paramref name="address" /> resource, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified local file to the specified resource, using the specified method.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Byte" /> array containing the body of the response from the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the file.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the file to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The file to send to the resource. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UploadFile">
      <MemberSignature Language="C#" Value="public byte[] UploadFile (Uri address, string method, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] UploadFile(class System.Uri address, string method, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When address specifies an HTTP resource, the <see cref="M:System.Net.WebClient.UploadFile(System.String,System.String)" /> method sends a local file to a resource using the HTTP method specified in the <paramref name="method" /> parameter and returns any response from the server. This method blocks while uploading the file. To continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadFileAsync" /> methods.</para>
          <para>If the <paramref name="method" /> parameter specifies a verb that is not understood by the server or the <paramref name="address" /> resource, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified local file to the specified resource, using the specified method.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Byte" /> array containing the body of the response from the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the file.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the file to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The file to send to the resource. </param>
      </Docs>
    </Member>
    <Member MemberName="UploadFileAsync">
      <MemberSignature Language="C#" Value="public void UploadFileAsync (Uri address, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UploadFileAsync(class System.Uri address, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The file is sent asynchronously using thread resources that are automatically allocated from the thread pool. To receive notification when the file upload completes, add an event handler to the <see cref="E:System.Net.WebClient.UploadFileCompleted" /> event.</para>
          <para>This method does not block the calling thread while the file is being sent. To send a file and block while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadFile" /> methods. </para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified local file to the specified resource, using the POST method. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the file. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page. </param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The file to send to the resource. </param>
      </Docs>
    </Member>
    <Member MemberName="UploadFileAsync">
      <MemberSignature Language="C#" Value="public void UploadFileAsync (Uri address, string method, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UploadFileAsync(class System.Uri address, string method, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The file is sent asynchronously using thread resources that are automatically allocated from the thread pool. To receive notification when the file upload completes, add an event handler to the <see cref="E:System.Net.WebClient.UploadFileCompleted" /> event.</para>
          <para>This method does not block the calling thread while the file is being sent. To send a file and block while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadFile" /> methods. </para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified local file to the specified resource, using the POST method. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the file. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page. </param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The file to send to the resource. </param>
      </Docs>
    </Member>
    <Member MemberName="UploadFileAsync">
      <MemberSignature Language="C#" Value="public void UploadFileAsync (Uri address, string method, string fileName, object userToken);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UploadFileAsync(class System.Uri address, string method, string fileName, object userToken) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="fileName" Type="System.String" />
        <Parameter Name="userToken" Type="System.Object" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The file is sent asynchronously using thread resources that are automatically allocated from the thread pool. To receive notification when the file upload completes, add an event handler to the <see cref="E:System.Net.WebClient.UploadFileCompleted" /> event.</para>
          <para>This method does not block the calling thread while the file is being sent. To send a file and block while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadFile" /> methods. </para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified local file to the specified resource, using the POST method. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the file. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The file to send to the resource.</param>
        <param name="userToken">
          <attribution license="cc4" from="Microsoft" modified="false" />A user-defined object that is passed to the method invoked when the asynchronous operation completes.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadFileCompleted">
      <MemberSignature Language="C#" Value="public event System.Net.UploadFileCompletedEventHandler UploadFileCompleted;" />
      <MemberSignature Language="ILAsm" Value=".event class System.Net.UploadFileCompletedEventHandler UploadFileCompleted" />
      <MemberType>Event</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.UploadFileCompletedEventHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This event is raised each time an asynchronous file upload operation completes. Asynchronous file uploads are started by calling the <see cref="Overload:System.Net.WebClient.UploadFileAsync" /> methods.</para>
          <para>The <see cref="T:System.Net.UploadFileCompletedEventHandler" /> is the delegate for this event. The <see cref="T:System.Net.UploadFileCompletedEventArgs" /> class provides the event handler with event data. </para>
          <para>For more information about handling events, see <format type="text/html"><a href="01e4f1bc-e55e-413f-98c7-6588493e5f67">Consuming Events</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when an asynchronous file-upload operation completes.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="UploadFileTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;byte[]&gt; UploadFileTaskAsync (string address, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;unsigned int8[]&gt; UploadFileTaskAsync(string address, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.Byte[]&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the file has been uploaded to the resource. The file is sent asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified local file to a resource as an asynchronous operation using a task object. </para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the body of the response received from the resource when the file was uploaded.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the file. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page.</param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The local file to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadFileTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;byte[]&gt; UploadFileTaskAsync (Uri address, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;unsigned int8[]&gt; UploadFileTaskAsync(class System.Uri address, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.Byte[]&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the file has been uploaded to the resource. The file is sent asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified local file to a resource as an asynchronous operation using a task object. </para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the body of the response received from the resource when the file was uploaded.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the file. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page.</param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The local file to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadFileTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;byte[]&gt; UploadFileTaskAsync (string address, string method, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;unsigned int8[]&gt; UploadFileTaskAsync(string address, string method, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.Byte[]&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the file has been uploaded to the resource. The file is sent asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>BY default, this method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified local file to a resource as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the body of the response received from the resource when the file was uploaded.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the file. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The local file to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadFileTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;byte[]&gt; UploadFileTaskAsync (Uri address, string method, string fileName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;unsigned int8[]&gt; UploadFileTaskAsync(class System.Uri address, string method, string fileName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Diagnostics.DebuggerStepThrough</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Runtime.CompilerServices.AsyncStateMachine(typeof(System.Net.WebClient/&lt;UploadFileTaskAsync&gt;c__asyncB))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.Byte[]&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="fileName" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the file has been uploaded to the resource. The file is sent asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>BY default, this method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified local file to a resource as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the body of the response received from the resource when the file was uploaded.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the file. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="fileName">
          <attribution license="cc4" from="Microsoft" modified="false" />The local file to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadProgressChanged">
      <MemberSignature Language="C#" Value="public event System.Net.UploadProgressChangedEventHandler UploadProgressChanged;" />
      <MemberSignature Language="ILAsm" Value=".event class System.Net.UploadProgressChangedEventHandler UploadProgressChanged" />
      <MemberType>Event</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.UploadProgressChangedEventHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This event is raised each time an asynchronous upload makes progress. This event is raised when uploads are started using any of the following methods.</para>
          <list type="table">
            <listheader>
              <item>
                <term>
                  <para>Method</para>
                </term>
                <description>
                  <para>Description</para>
                </description>
              </item>
            </listheader>
            <item>
              <term>
                <para>
                  <see cref="M:System.Net.WebClient.UploadDataAsync(System.Uri,System.Byte[])" />
                </para>
              </term>
              <description>
                <para>Sends a <see cref="T:System.Byte" /> array to the resource, without blocking the calling thread.</para>
              </description>
            </item>
            <item>
              <term>
                <para>
                  <see cref="M:System.Net.WebClient.UploadFileAsync(System.Uri,System.String)" />
                </para>
              </term>
              <description>
                <para>Sends a local file to the resource, without blocking the calling thread.</para>
              </description>
            </item>
            <item>
              <term>
                <para>
                  <see cref="M:System.Net.WebClient.UploadValuesAsync(System.Uri,System.Collections.Specialized.NameValueCollection)" />
                </para>
              </term>
              <description>
                <para>Sends a <see cref="T:System.Collections.Specialized.NameValueCollection" /> to the resource and returns a <see cref="T:System.Byte" /> array containing any response, without blocking the calling thread.</para>
              </description>
            </item>
          </list>
          <para>The <see cref="T:System.Net.UploadProgressChangedEventHandler" /> is the delegate for this event. The <see cref="T:System.Net.UploadProgressChangedEventArgs" /> class provides the event handler with event data. </para>
          <para>For more information about handling events, see <format type="text/html"><a href="01e4f1bc-e55e-413f-98c7-6588493e5f67">Consuming Events</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when an asynchronous upload operation successfully transfers some or all of the data.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="UploadString">
      <MemberSignature Language="C#" Value="public string UploadString (string address, string data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string UploadString(string address, string data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="data" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Before uploading the string, this method converts it to a <see cref="T:System.Byte" /> array using the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property. This method blocks while the string is transmitted. To send a string and continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadStringAsync" /> methods.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified string to the specified resource, using the POST method.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> containing the response sent by the server.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the string. For Http resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page. </param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to be uploaded.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadString">
      <MemberSignature Language="C#" Value="public string UploadString (Uri address, string data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string UploadString(class System.Uri address, string data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="data" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Before uploading the string, this method converts it to a <see cref="T:System.Byte" /> array using the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property. This method blocks while the string is transmitted. To send a string and continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadStringAsync" /> methods.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string (""), and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified string to the specified resource, using the POST method.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> containing the response sent by the server.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the string. For Http resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page. </param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to be uploaded.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadString">
      <MemberSignature Language="C#" Value="public string UploadString (string address, string method, string data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string UploadString(string address, string method, string data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Before uploading the string, this method converts it to a <see cref="T:System.Byte" /> array using the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property. This method blocks while the string is transmitted. To send a string and continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadStringAsync" /> methods. </para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified string to the specified resource, using the specified method.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> containing the response sent by the server.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the string. This URI must identify a resource that can accept a request sent with the <paramref name="method" /> method. </param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The HTTP method used to send the string to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to be uploaded.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadString">
      <MemberSignature Language="C#" Value="public string UploadString (Uri address, string method, string data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string UploadString(class System.Uri address, string method, string data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Before uploading the string, this method converts it to a <see cref="T:System.Byte" /> array using the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property. This method blocks while the string is transmitted. To send a string and continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadStringAsync" /> methods. </para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified string to the specified resource, using the specified method.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.String" /> containing the response sent by the server.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the string. This URI must identify a resource that can accept a request sent with the <paramref name="method" /> method. </param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The HTTP method used to send the string to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to be uploaded.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadStringAsync">
      <MemberSignature Language="C#" Value="public void UploadStringAsync (Uri address, string data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UploadStringAsync(class System.Uri address, string data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="data" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method sends a string to a resource. The string is sent asynchronously using thread resources that are automatically allocated from the thread pool. Before uploading the string, this method converts it to a <see cref="T:System.Byte" /> array using the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property. To receive notification when the string upload completes, you can add an event handler to the <see cref="E:System.Net.WebClient.UploadStringCompleted" /> event.</para>
          <para>This method does not block the calling thread while the string is being sent. To send a string and block while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadString" /> methods.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para> This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified string to the specified resource. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the string. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page. </param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to be uploaded.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadStringAsync">
      <MemberSignature Language="C#" Value="public void UploadStringAsync (Uri address, string method, string data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UploadStringAsync(class System.Uri address, string method, string data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method sends a string to a resource. The string is sent asynchronously using thread resources that are automatically allocated from the thread pool. Before uploading the string, this method converts it to a <see cref="T:System.Byte" /> array using the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property. To receive notification when the string upload completes, you can add an event handler to the <see cref="E:System.Net.WebClient.UploadStringCompleted" /> event.</para>
          <para>This method does not block the calling thread while the string is being sent. To send a string and block while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadString" /> methods.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para> This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified string to the specified resource. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the string. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The HTTP method used to send the file to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to be uploaded.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadStringAsync">
      <MemberSignature Language="C#" Value="public void UploadStringAsync (Uri address, string method, string data, object userToken);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UploadStringAsync(class System.Uri address, string method, string data, object userToken) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.String" />
        <Parameter Name="userToken" Type="System.Object" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method sends a string to a resource. The string is sent asynchronously using thread resources that are automatically allocated from the thread pool. Before uploading the string, this method converts it to a <see cref="T:System.Byte" /> array using the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property. To receive notification when the string upload completes, you can add an event handler to the <see cref="E:System.Net.WebClient.UploadStringCompleted" /> event.</para>
          <para>This method does not block the calling thread while the string is being sent. To send a string and block while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadString" /> methods.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para> This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified string to the specified resource. This method does not block the calling thread.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the string. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The HTTP method used to send the file to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to be uploaded.</param>
        <param name="userToken">
          <attribution license="cc4" from="Microsoft" modified="false" />A user-defined object that is passed to the method invoked when the asynchronous operation completes.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadStringCompleted">
      <MemberSignature Language="C#" Value="public event System.Net.UploadStringCompletedEventHandler UploadStringCompleted;" />
      <MemberSignature Language="ILAsm" Value=".event class System.Net.UploadStringCompletedEventHandler UploadStringCompleted" />
      <MemberType>Event</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.UploadStringCompletedEventHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This event is raised each time an asynchronous string upload operation completes. Asynchronous string uploads are started by calling the <see cref="Overload:System.Net.WebClient.UploadStringAsync" /> methods.</para>
          <para>The <see cref="T:System.Net.UploadStringCompletedEventHandler" /> is the delegate for this event. The <see cref="T:System.Net.UploadStringCompletedEventArgs" /> class provides the event handler with event data. </para>
          <para>For more information about handling events, see <format type="text/html"><a href="01E4F1BC-E55E-413F-98C7-6588493E5F67"></a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when an asynchronous string-upload operation completes.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="UploadStringTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;string&gt; UploadStringTaskAsync (string address, string data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;string&gt; UploadStringTaskAsync(string address, string data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.String&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="data" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the string has been uploaded to the resource. The string is sent asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>Before uploading the string, this method converts it to a <see cref="T:System.Byte" /> array using the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property. This method blocks while the string is transmitted. </para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified string to the specified resource as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.String" /> containing the response sent by the server.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the string. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to be uploaded.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadStringTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;string&gt; UploadStringTaskAsync (Uri address, string data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;string&gt; UploadStringTaskAsync(class System.Uri address, string data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.String&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="data" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the string has been uploaded to the resource. The string is sent asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>Before uploading the string, this method converts it to a <see cref="T:System.Byte" /> array using the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property. This method blocks while the string is transmitted. </para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified string to the specified resource as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.String" /> containing the response sent by the server.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the string. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to be uploaded.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadStringTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;string&gt; UploadStringTaskAsync (string address, string method, string data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;string&gt; UploadStringTaskAsync(string address, string method, string data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.String&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the string has been uploaded to the resource. The string is sent asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>Before uploading the string, this method converts it to a <see cref="T:System.Byte" /> array using the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property. This method blocks while the string is transmitted. </para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified string to the specified resource as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.String" /> containing the response sent by the server.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the string. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The HTTP method used to send the file to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to be uploaded.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadStringTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;string&gt; UploadStringTaskAsync (Uri address, string method, string data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;string&gt; UploadStringTaskAsync(class System.Uri address, string method, string data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Diagnostics.DebuggerStepThrough</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Runtime.CompilerServices.AsyncStateMachine(typeof(System.Net.WebClient/&lt;UploadStringTaskAsync&gt;c__asyncD))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.String&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the string has been uploaded to the resource. The string is sent asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>Before uploading the string, this method converts it to a <see cref="T:System.Byte" /> array using the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property. This method blocks while the string is transmitted. </para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified string to the specified resource as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.String" /> containing the response sent by the server.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the string. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The HTTP method used to send the file to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The string to be uploaded.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadValues">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Byte[] UploadValues(string address, class System.Collections.Specialized.NameValueCollection data)" />
      <MemberSignature Language="C#" Value="public byte[] UploadValues (string address, System.Collections.Specialized.NameValueCollection data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] UploadValues(string address, class System.Collections.Specialized.NameValueCollection data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="data" Type="System.Collections.Specialized.NameValueCollection" />
      </Parameters>
      <Docs>
        <exception cref="T:System.Net.WebException">
          <para>The absolute URI is not valid.</para>
          <para> -or-</para>
          <para>
            <paramref name="data" /> is <see langword="null" />.</para>
          <para>-or-</para>
          <para>An error occurred while opening the stream or uploading the data.</para>
          <para>-or-</para>
          <para>There was no response from the server hosting the resource.</para>
          <para>-or-</para>
          <para>The Content-Type header is not <see langword="null" />, and is not "application/x-www-form-urlencoded".</para>
        </exception>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.UploadValues(System.String,System.Collections.Specialized.NameValueCollection)" /> method sends a <see cref="T:System.Collections.Specialized.NameValueCollection" /> to a server. This method blocks while uploading the data. To continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadValuesAsync" /> methods.</para>
          <para>If the underlying request is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the Content-type header is null, the <see cref="M:System.Net.WebClient.UploadValues(System.String,System.Collections.Specialized.NameValueCollection)" /> method sets it to "application/x-www-form-urlencoded".</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified name/value collection to the resource identified by the specified URI.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Byte" /> array containing the body of the response from the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the collection. </param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Collections.Specialized.NameValueCollection" /> to send to the resource. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UploadValues">
      <MemberSignature Language="C#" Value="public byte[] UploadValues (Uri address, System.Collections.Specialized.NameValueCollection data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] UploadValues(class System.Uri address, class System.Collections.Specialized.NameValueCollection data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="data" Type="System.Collections.Specialized.NameValueCollection" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.UploadValues(System.String,System.Collections.Specialized.NameValueCollection)" /> method sends a <see cref="T:System.Collections.Specialized.NameValueCollection" /> to a server. This method blocks while uploading the data. To continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadValuesAsync" /> methods.</para>
          <para>If the underlying request is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the Content-type header is null, the <see cref="M:System.Net.WebClient.UploadValues(System.String,System.Collections.Specialized.NameValueCollection)" /> method sets it to "application/x-www-form-urlencoded".</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified name/value collection to the resource identified by the specified URI.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Byte" /> array containing the body of the response from the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the collection. </param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Collections.Specialized.NameValueCollection" /> to send to the resource. </param>
      </Docs>
    </Member>
    <Member MemberName="UploadValues">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Byte[] UploadValues(string address, string method, class System.Collections.Specialized.NameValueCollection data)" />
      <MemberSignature Language="C#" Value="public byte[] UploadValues (string address, string method, System.Collections.Specialized.NameValueCollection data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] UploadValues(string address, string method, class System.Collections.Specialized.NameValueCollection data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.Collections.Specialized.NameValueCollection" />
      </Parameters>
      <Docs>
        <exception cref="T:System.Net.WebException">
          <para>The absolute URI is not valid.</para>
          <para> -or-</para>
          <para>
            <paramref name="data" /> is <see langword="null" />.</para>
          <para>-or-</para>
          <para>An error occurred while opening the stream or uploading the data.</para>
          <para>-or-</para>
          <para>There was no response from the server hosting the resource.</para>
          <para>-or-</para>
          <para>The Content-Type header is not <see langword="null" />, and is not "application/x-www-form-urlencoded".</para>
        </exception>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.UploadValues(System.String,System.Collections.Specialized.NameValueCollection)" /> method sends a <see cref="T:System.Collections.Specialized.NameValueCollection" /> to a resource using the method specified in the <paramref name="method" /> parameter and returns any response from the server. This method blocks while uploading the data. To continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadValuesAsync" /> methods.</para>
          <para>If the Content-type header is null, the <see cref="M:System.Net.WebClient.UploadValues(System.String,System.Collections.Specialized.NameValueCollection)" /> method sets it to application/x-www-form-urlencoded.</para>
          <para>If the <paramref name="method" /> parameter specifies a verb that is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified name/value collection to the resource identified by the specified URI, using the specified method.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Byte" /> array containing the body of the response from the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the collection. </param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The HTTP method used to send the file to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Collections.Specialized.NameValueCollection" /> to send to the resource. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UploadValues">
      <MemberSignature Language="C#" Value="public byte[] UploadValues (Uri address, string method, System.Collections.Specialized.NameValueCollection data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] UploadValues(class System.Uri address, string method, class System.Collections.Specialized.NameValueCollection data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.Collections.Specialized.NameValueCollection" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.WebClient.UploadValues(System.String,System.Collections.Specialized.NameValueCollection)" /> method sends a <see cref="T:System.Collections.Specialized.NameValueCollection" /> to a resource using the method specified in the <paramref name="method" /> parameter and returns any response from the server. This method blocks while uploading the data. To continue executing while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadValuesAsync" /> methods.</para>
          <para>If the Content-type header is null, the <see cref="M:System.Net.WebClient.UploadValues(System.String,System.Collections.Specialized.NameValueCollection)" /> method sets it to application/x-www-form-urlencoded.</para>
          <para>If the <paramref name="method" /> parameter specifies a verb that is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified name/value collection to the resource identified by the specified URI, using the specified method.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Byte" /> array containing the body of the response from the resource.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the collection. </param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The HTTP method used to send the file to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Collections.Specialized.NameValueCollection" /> to send to the resource. </param>
      </Docs>
    </Member>
    <Member MemberName="UploadValuesAsync">
      <MemberSignature Language="C#" Value="public void UploadValuesAsync (Uri address, System.Collections.Specialized.NameValueCollection data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UploadValuesAsync(class System.Uri address, class System.Collections.Specialized.NameValueCollection data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="data" Type="System.Collections.Specialized.NameValueCollection" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method sends a string to a resource. The string is sent asynchronously using thread resources that are automatically allocated from the thread pool. Before uploading the string, this method converts it to a <see cref="T:System.Byte" /> array using the encoding specified in the <see cref="P:System.Net.WebClient.Encoding" /> property. To receive notification when the string upload completes, you can add an event handler to the <see cref="E:System.Net.WebClient.UploadStringCompleted" /> event.</para>
          <para>This method does not block the calling thread while the string is being sent. To send a string and block while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadString" /> methods.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para> This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>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.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the collection. This URI must identify a resource that can accept a request sent with the default method. See remarks.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Collections.Specialized.NameValueCollection" /> to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadValuesAsync">
      <MemberSignature Language="C#" Value="public void UploadValuesAsync (Uri address, string method, System.Collections.Specialized.NameValueCollection data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UploadValuesAsync(class System.Uri address, string method, class System.Collections.Specialized.NameValueCollection data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.Collections.Specialized.NameValueCollection" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method sends the data contained in a <see cref="T:System.Collections.Specialized.NameValueCollection" /> to the <paramref name="address" /> resource. Use this method to send form data to a URI for processing. The data is sent using the form-urlencoded media type; the Content-Type header value must be set to "application/x-www-form-urlencoded". The header is set correctly by default. The <see cref="Overload:System.Net.WebClient.UploadValuesAsync" /> methods throw a <see cref="T:System.Net.WebException" /> if you call this method with a different Content-Type header value set in the <see cref="P:System.Net.WebClient.Headers" /> collection.</para>
          <para>If the <paramref name="method" /> method is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>The <see cref="T:System.Collections.Specialized.NameValueCollection" /> is sent asynchronously using thread resources that are automatically allocated from the thread pool. To receive notification when the upload operation completes, add an event handler to the <see cref="E:System.Net.WebClient.UploadValuesCompleted" /> event.</para>
          <para>This method does not block the calling thread while the string is being sent. To send a string and block while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadValues" /> methods. </para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not empty, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>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.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the collection. This URI must identify a resource that can accept a request sent with the <paramref name="method" /> method.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The method used to send the string to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Collections.Specialized.NameValueCollection" /> to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadValuesAsync">
      <MemberSignature Language="C#" Value="public void UploadValuesAsync (Uri address, string method, System.Collections.Specialized.NameValueCollection data, object userToken);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UploadValuesAsync(class System.Uri address, string method, class System.Collections.Specialized.NameValueCollection data, object userToken) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.Collections.Specialized.NameValueCollection" />
        <Parameter Name="userToken" Type="System.Object" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method sends the data contained in a <see cref="T:System.Collections.Specialized.NameValueCollection" /> to the <paramref name="address" /> resource. Use this method to send form data to a URI for processing. The data is sent using the form-urlencoded media type; the Content-Type header value must be set to "application/x-www-form-urlencoded". The header is set correctly by default. The <see cref="Overload:System.Net.WebClient.UploadValuesAsync" /> methods throw a <see cref="T:System.Net.WebException" /> if you call this method with a different Content-Type header value set in the <see cref="P:System.Net.WebClient.Headers" /> collection.</para>
          <para>If the <paramref name="method" /> method is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>The <see cref="T:System.Collections.Specialized.NameValueCollection" /> is sent asynchronously using thread resources that are automatically allocated from the thread pool. To receive notification when the upload operation completes, add an event handler to the <see cref="E:System.Net.WebClient.UploadValuesCompleted" /> event.</para>
          <para>This method does not block the calling thread while the string is being sent. To send a string and block while waiting for the server's response, use one of the <see cref="Overload:System.Net.WebClient.UploadValues" /> methods. </para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not empty, it is appended to <paramref name="address" />.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
            <para />
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>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.</para>
        </summary>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the collection. This URI must identify a resource that can accept a request sent with the <paramref name="method" /> method.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The HTTP method used to send the string to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Collections.Specialized.NameValueCollection" /> to send to the resource.</param>
        <param name="userToken">
          <attribution license="cc4" from="Microsoft" modified="false" />A user-defined object that is passed to the method invoked when the asynchronous operation completes.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadValuesCompleted">
      <MemberSignature Language="C#" Value="public event System.Net.UploadValuesCompletedEventHandler UploadValuesCompleted;" />
      <MemberSignature Language="ILAsm" Value=".event class System.Net.UploadValuesCompletedEventHandler UploadValuesCompleted" />
      <MemberType>Event</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.UploadValuesCompletedEventHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This event is raised each time an asynchronous upload of a <see cref="T:System.Collections.Specialized.NameValueCollection" /> object's data completes. These uploads are started by calling the <see cref="Overload:System.Net.WebClient.UploadValuesAsync" /> methods.</para>
          <para>The <see cref="T:System.Net.UploadValuesCompletedEventHandler" /> is the delegate for this event. The <see cref="T:System.Net.UploadValuesCompletedEventArgs" /> class provides the event handler with event data. </para>
          <para>For more information about handling events, see <format type="text/html"><a href="01e4f1bc-e55e-413f-98c7-6588493e5f67">Consuming Events</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when an asynchronous upload of a name/value collection completes.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="UploadValuesTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;byte[]&gt; UploadValuesTaskAsync (string address, System.Collections.Specialized.NameValueCollection data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;unsigned int8[]&gt; UploadValuesTaskAsync(string address, class System.Collections.Specialized.NameValueCollection data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.Byte[]&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="data" Type="System.Collections.Specialized.NameValueCollection" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the name/value collection has been uploaded to the resource. The name/value collection is sent asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the underlying request is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the Content-type header is null, this method sets it to "application/x-www-form-urlencoded".</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified name/value collection to the resource identified by the specified URI as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the response sent by the server.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the collection.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Collections.Specialized.NameValueCollection" /> to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadValuesTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;byte[]&gt; UploadValuesTaskAsync (Uri address, System.Collections.Specialized.NameValueCollection data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;unsigned int8[]&gt; UploadValuesTaskAsync(class System.Uri address, class System.Collections.Specialized.NameValueCollection data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.Byte[]&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="data" Type="System.Collections.Specialized.NameValueCollection" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the name/value collection has been uploaded to the resource. The name/value collection is sent asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the underlying request is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the Content-type header is null, this method sets it to "application/x-www-form-urlencoded".</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified name/value collection to the resource identified by the specified URI as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the response sent by the server.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the collection.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Collections.Specialized.NameValueCollection" /> to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadValuesTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;byte[]&gt; UploadValuesTaskAsync (string address, string method, System.Collections.Specialized.NameValueCollection data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;unsigned int8[]&gt; UploadValuesTaskAsync(string address, string method, class System.Collections.Specialized.NameValueCollection data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.Byte[]&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.String" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.Collections.Specialized.NameValueCollection" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the name/value collection has been uploaded to the resource. The name/value collection is sent asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the underlying request is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the Content-type header is null, this method sets it to "application/x-www-form-urlencoded".</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified name/value collection to the resource identified by the specified URI as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the response sent by the server.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the collection.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The HTTP method used to send the collection to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Collections.Specialized.NameValueCollection" /> to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UploadValuesTaskAsync">
      <MemberSignature Language="C#" Value="public System.Threading.Tasks.Task&lt;byte[]&gt; UploadValuesTaskAsync (Uri address, string method, System.Collections.Specialized.NameValueCollection data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.Tasks.Task`1&lt;unsigned int8[]&gt; UploadValuesTaskAsync(class System.Uri address, string method, class System.Collections.Specialized.NameValueCollection data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.Diagnostics.DebuggerStepThrough</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Runtime.CompilerServices.AsyncStateMachine(typeof(System.Net.WebClient/&lt;UploadValuesTaskAsync&gt;c__asyncE))</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Threading.Tasks.Task&lt;System.Byte[]&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="address" Type="System.Uri" />
        <Parameter Name="method" Type="System.String" />
        <Parameter Name="data" Type="System.Collections.Specialized.NameValueCollection" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This operation will not block. The returned <see cref="T:System.Threading.Tasks.Task`1" /> object will complete after the name/value collection has been uploaded to the resource. The name/value collection is sent asynchronously using thread resources that are automatically allocated from the thread pool.</para>
          <para>Asynchronous operations that have not completed can be canceled using the <see cref="M:System.Net.WebClient.CancelAsync" /> method.</para>
          <para>If the underlying request is not understood by the server, the underlying protocol classes determine what occurs. Typically, a <see cref="T:System.Net.WebException" /> is thrown with the <see cref="P:System.Net.WebException.Status" /> property set to indicate the error.</para>
          <para>If the Content-type header is null, this method sets it to "application/x-www-form-urlencoded".</para>
          <para>If the <see cref="P:System.Net.WebClient.BaseAddress" /> property is not an empty string ("") and <paramref name="address" /> does not contain an absolute URI, <paramref name="address" /> must be a relative URI that is combined with <see cref="P:System.Net.WebClient.BaseAddress" /> to form the absolute URI of the requested data. If the <see cref="P:System.Net.WebClient.QueryString" /> property is not an empty string, it is appended to <paramref name="address" />.</para>
          <para>This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.</para>
          <block subset="none" type="note">
            <para>This member outputs trace information when you enable network tracing in your application. For more information, see <format type="text/html"><a href="e993b7c3-087f-45d8-9c02-9dded936d804">Network Tracing</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uploads the specified name/value collection to the resource identified by the specified URI as an asynchronous operation using a task object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns <see cref="T:System.Threading.Tasks.Task`1" />.</para>
          <para>The task object representing the asynchronous operation. The <see cref="P:System.Threading.Tasks.Task`1.Result" /> property on the task object returns a <see cref="T:System.Byte" /> array containing the response sent by the server.</para>
        </returns>
        <param name="address">
          <attribution license="cc4" from="Microsoft" modified="false" />The URI of the resource to receive the collection.</param>
        <param name="method">
          <attribution license="cc4" from="Microsoft" modified="false" />The HTTP method used to send the collection to the resource. If null, the default is POST for http and STOR for ftp.</param>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Collections.Specialized.NameValueCollection" /> to send to the resource.</param>
      </Docs>
    </Member>
    <Member MemberName="UseDefaultCredentials">
      <MemberSignature Language="C#" Value="public bool UseDefaultCredentials { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool UseDefaultCredentials" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.MonoTODO("Value can be set but is ignored")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Set this property to true when requests made by this <see cref="T:System.Net.WebClient" /> object should, if requested by the server, be authenticated using the default credentials of the currently logged on user. For client applications, this is the desired behavior in most scenarios. For middle tier applications, such as ASP.NET applications, instead of using this property, you would typically set the <see cref="P:System.Net.WebClient.Credentials" /> property to the credentials of the client on whose behalf the request is made.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a <see cref="T:System.Boolean" /> value that controls whether the <see cref="P:System.Net.CredentialCache.DefaultCredentials" /> are sent with requests.</para>
        </summary>
      </Docs>
    </Member>
  </Members>
  <TypeExcluded>0</TypeExcluded>
</Type>