WebClient Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona métodos comunes para enviar y recibir datos de un recurso identificado por un URI.
public ref class WebClient sealed : System::ComponentModel::Component
public ref class WebClient : System::ComponentModel::Component
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class WebClient : System.ComponentModel.Component
[System.Runtime.InteropServices.ComVisible(true)]
public class WebClient : System.ComponentModel.Component
public class WebClient : System.ComponentModel.Component
[<System.Runtime.InteropServices.ComVisible(true)>]
type WebClient = class
inherit Component
type WebClient = class
inherit Component
Public NotInheritable Class WebClient
Inherits Component
Public Class WebClient
Inherits Component
- Herencia
- Atributos
Ejemplos
En el ejemplo de código siguiente se toma el URI de un recurso, se recupera y se muestra la respuesta.
#using <System.dll>
using namespace System;
using namespace System::Net;
using namespace System::IO;
int main()
{
array<String^>^args = Environment::GetCommandLineArgs();
if ( args == nullptr || args->Length == 1 )
{
throw gcnew ApplicationException( "Specify the URI of the resource to retrieve." );
}
WebClient^ client = gcnew WebClient;
// Add a user agent header in case the
// requested URI contains a query.
client->Headers->Add( "user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)" );
Stream^ data = client->OpenRead( args[ 1 ] );
StreamReader^ reader = gcnew StreamReader( data );
String^ s = reader->ReadToEnd();
Console::WriteLine( s );
data->Close();
reader->Close();
delete client;
}
using System;
using System.Net;
using System.IO;
public class Test
{
public static void Main(string[] args)
{
if (args == null || args.Length == 0)
{
throw new ApplicationException("Specify the URI of the resource to retrieve.");
}
using WebClient client = new WebClient();
// Add a user agent header in case the
// requested URI contains a query.
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
using Stream data = client.OpenRead(args[0]);
using StreamReader reader = new StreamReader(data);
string s = reader.ReadToEnd();
Console.WriteLine(s);
}
}
Imports System.Net
Imports System.IO
Public Class Test
Public Shared Sub Main(args() As String)
If args Is Nothing OrElse args.Length = 0 Then
Throw New ApplicationException("Specify the URI of the resource to retrieve.")
End If
Using client As New WebClient()
' Add a user agent header in case the
' requested URI contains a query.
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)")
Using data As Stream = client.OpenRead(args(0))
Using reader As New StreamReader(data)
Dim s As String = reader.ReadToEnd()
Console.WriteLine(s)
End Using
End Using
End Using
End Sub
End Class
Comentarios
Caution
WebRequest, HttpWebRequest, ServicePointy WebClient están obsoletos y no debe usarlos para el nuevo desarrollo. Utilice HttpClient en su lugar.
La WebClient clase proporciona métodos comunes para enviar o recibir datos de cualquier recurso local, intranet o Internet identificado por un URI.
La WebClient clase usa la WebRequest clase para proporcionar acceso a los recursos. WebClient Las instancias pueden acceder a los datos con cualquier WebRequest descendiente registrado con el WebRequest.RegisterPrefix método .
Note
De forma predeterminada, .NET Framework admite URI que comienzan por http:, https:, ftp: y identificadores de esquema file:.
En la tabla siguiente se describen WebClient los métodos para cargar datos en un recurso.
| Método | Descripción |
|---|---|
| OpenWrite | Recupera un Stream objeto usado para enviar datos al recurso. |
| OpenWriteAsync | Recupera un Stream objeto usado para enviar datos al recurso, sin bloquear el subproceso que llama. |
| UploadData | Envía una matriz de bytes al recurso y devuelve una Byte matriz que contiene cualquier respuesta. |
| UploadDataAsync | Envía una Byte matriz al recurso, sin bloquear el subproceso que llama. |
| UploadFile | Envía un archivo local al recurso y devuelve una Byte matriz que contiene cualquier respuesta. |
| UploadFileAsync | Envía un archivo local al recurso, sin bloquear el subproceso que llama. |
| UploadValues | Envía un NameValueCollection objeto al recurso y devuelve una Byte matriz que contiene cualquier respuesta. |
| UploadValuesAsync | Envía un NameValueCollection objeto al recurso y devuelve una Byte matriz que contiene cualquier respuesta, sin bloquear el subproceso que realiza la llamada. |
| UploadString | Envía un String objeto al recurso y devuelve un String objeto que contiene cualquier respuesta. |
| UploadStringAsync | Envía un String elemento al recurso, sin bloquear el subproceso que llama. |
En la tabla siguiente se describen WebClient los métodos para descargar datos de un recurso.
| Método | Descripción |
|---|---|
| OpenRead | Devuelve los datos de un recurso como .Stream |
| OpenReadAsync | Devuelve los datos de un recurso, sin bloquear el subproceso que realiza la llamada. |
| DownloadData | Descarga datos de un recurso y devuelve una Byte matriz. |
| DownloadDataAsync | Descarga datos de un recurso y devuelve una Byte matriz, sin bloquear el subproceso que realiza la llamada. |
| DownloadFile | Descarga datos de un recurso en un archivo local. |
| DownloadFileAsync | Descarga datos de un recurso a un archivo local, sin bloquear el subproceso que llama. |
| DownloadString | Descarga un String objeto de un recurso y devuelve un String. |
| DownloadStringAsync | Descarga un String desde un recurso, sin bloquear el subproceso que llama. |
Puede usar el CancelAsync método para intentar cancelar operaciones asincrónicas.
Una WebClient instancia de no envía encabezados HTTP opcionales de forma predeterminada. Si la solicitud requiere un encabezado opcional, debe agregar el encabezado a la Headers colección. Por ejemplo, para conservar las consultas en la respuesta, debe agregar un encabezado user-agent. Además, los servidores pueden devolver 500 (error interno del servidor) si falta el encabezado del agente de usuario.
AllowAutoRedirect se establece true en en instancias WebClient .
Notas a los desarrolladores de herederos
Las clases derivadas deben llamar a la implementación de clase base de para asegurarse de WebClient que la clase derivada funciona según lo previsto.
Constructores
| Nombre | Description |
|---|---|
| WebClient() |
Inicializa una nueva instancia de la clase WebClient. |
Propiedades
| Nombre | Description |
|---|---|
| AllowReadStreamBuffering |
Obsoletos.
Obtiene o establece un valor que indica si se van a almacenar en búfer los datos leídos del recurso de Internet para una WebClient instancia de . |
| AllowWriteStreamBuffering |
Obsoletos.
Obtiene o establece un valor que indica si se van a almacenar en búfer los datos escritos en el recurso de Internet para una WebClient instancia de . |
| BaseAddress |
Obtiene o establece el URI base para las solicitudes realizadas por .WebClient |
| CachePolicy |
Obtiene o establece la directiva de caché de la aplicación para los recursos obtenidos por esta instancia de WebClient mediante WebRequest objetos . |
| CanRaiseEvents |
Obtiene un valor que indica si el componente puede generar un evento. (Heredado de Component) |
| Container |
Obtiene el IContainer objeto que contiene el Componentobjeto . (Heredado de Component) |
| Credentials |
Obtiene o establece las credenciales de red que se envían al host y se usan para autenticar la solicitud. |
| DesignMode |
Obtiene un valor que indica si Component el objeto está actualmente en modo de diseño. (Heredado de Component) |
| Encoding |
Obtiene o establece el Encoding utilizado para cargar y descargar cadenas. |
| Events |
Obtiene la lista de controladores de eventos que están asociados a este Componentobjeto . (Heredado de Component) |
| Headers |
Obtiene o establece una colección de pares de nombre y valor de encabezado asociados a la solicitud. |
| IsBusy |
Obtiene si una solicitud web está en curso. |
| Proxy |
Obtiene o establece el proxy utilizado por este WebClient objeto. |
| QueryString |
Obtiene o establece una colección de pares de nombre y valor de consulta asociados a la solicitud. |
| ResponseHeaders |
Obtiene una colección de pares de nombre y valor de encabezado asociados a la respuesta. |
| Site |
Obtiene o establece ISite de Component. (Heredado de Component) |
| UseDefaultCredentials |
Obtiene o establece un Boolean valor que controla si DefaultCredentials se envían con solicitudes. |
Métodos
| Nombre | Description |
|---|---|
| CancelAsync() |
Cancela una operación asincrónica pendiente. |
| CreateObjRef(Type) |
Crea un objeto que contiene toda la información pertinente necesaria para generar un proxy usado para comunicarse con un objeto remoto. (Heredado de MarshalByRefObject) |
| Dispose() |
Libera todos los recursos usados por .Component (Heredado de Component) |
| Dispose(Boolean) |
Libera los recursos no administrados utilizados por Component y, opcionalmente, libera los recursos administrados. (Heredado de Component) |
| DownloadData(String) |
Descarga el recurso como una Byte matriz del URI especificado. |
| DownloadData(Uri) |
Descarga el recurso como una Byte matriz del URI especificado. |
| DownloadDataAsync(Uri, Object) |
Descarga el recurso como una Byte matriz del URI especificado como una operación asincrónica. |
| DownloadDataAsync(Uri) |
Descarga el recurso como una Byte matriz del URI especificado como una operación asincrónica. |
| DownloadDataTaskAsync(String) |
Descarga el recurso como una Byte matriz del URI especificado como una operación asincrónica mediante un objeto de tarea. |
| DownloadDataTaskAsync(Uri) |
Descarga el recurso como una Byte matriz del URI especificado como una operación asincrónica mediante un objeto de tarea. |
| DownloadFile(String, String) |
Descarga el recurso con el URI especificado en un archivo local. |
| DownloadFile(Uri, String) |
Descarga el recurso con el URI especificado en un archivo local. |
| DownloadFileAsync(Uri, String, Object) |
Descarga, en un archivo local, el recurso con el URI especificado. Este método no bloquea el subproceso que realiza la llamada. |
| DownloadFileAsync(Uri, String) |
Descarga, en un archivo local, el recurso con el URI especificado. Este método no bloquea el subproceso que realiza la llamada. |
| DownloadFileTaskAsync(String, String) |
Descarga el recurso especificado en un archivo local como una operación asincrónica mediante un objeto de tarea. |
| DownloadFileTaskAsync(Uri, String) |
Descarga el recurso especificado en un archivo local como una operación asincrónica mediante un objeto de tarea. |
| DownloadString(String) |
Descarga el recurso solicitado como .String El recurso que se va a descargar se especifica como que String contiene el URI. |
| DownloadString(Uri) |
Descarga el recurso solicitado como .String El recurso que se va a descargar se especifica como .Uri |
| DownloadStringAsync(Uri, Object) |
Descarga la cadena especificada en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
| DownloadStringAsync(Uri) |
Descarga el recurso especificado como .Uri Este método no bloquea el subproceso que realiza la llamada. |
| DownloadStringTaskAsync(String) |
Descarga el recurso como desde String el URI especificado como una operación asincrónica mediante un objeto de tarea. |
| DownloadStringTaskAsync(Uri) |
Descarga el recurso como desde String el URI especificado como una operación asincrónica mediante un objeto de tarea. |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| GetHashCode() |
Actúa como la función hash predeterminada. (Heredado de Object) |
| GetLifetimeService() |
Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
| GetService(Type) |
Devuelve un objeto que representa un servicio proporcionado por Component o por su Container. (Heredado de Component) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| GetWebRequest(Uri) |
Devuelve un WebRequest objeto para el recurso especificado. |
| GetWebResponse(WebRequest, IAsyncResult) |
Devuelve para WebResponse el objeto especificado WebRequest mediante el especificado IAsyncResult. |
| GetWebResponse(WebRequest) |
Devuelve para WebResponse el objeto especificado WebRequest. |
| InitializeLifetimeService() |
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| MemberwiseClone(Boolean) |
Crea una copia superficial del objeto actual MarshalByRefObject . (Heredado de MarshalByRefObject) |
| OnDownloadDataCompleted(DownloadDataCompletedEventArgs) |
Genera el evento DownloadDataCompleted. |
| OnDownloadFileCompleted(AsyncCompletedEventArgs) |
Genera el evento DownloadFileCompleted. |
| OnDownloadProgressChanged(DownloadProgressChangedEventArgs) |
Genera el evento DownloadProgressChanged. |
| OnDownloadStringCompleted(DownloadStringCompletedEventArgs) |
Genera el evento DownloadStringCompleted. |
| OnOpenReadCompleted(OpenReadCompletedEventArgs) |
Genera el evento OpenReadCompleted. |
| OnOpenWriteCompleted(OpenWriteCompletedEventArgs) |
Genera el evento OpenWriteCompleted. |
| OnUploadDataCompleted(UploadDataCompletedEventArgs) |
Genera el evento UploadDataCompleted. |
| OnUploadFileCompleted(UploadFileCompletedEventArgs) |
Genera el evento UploadFileCompleted. |
| OnUploadProgressChanged(UploadProgressChangedEventArgs) |
Genera el evento UploadProgressChanged. |
| OnUploadStringCompleted(UploadStringCompletedEventArgs) |
Genera el evento UploadStringCompleted. |
| OnUploadValuesCompleted(UploadValuesCompletedEventArgs) |
Genera el evento UploadValuesCompleted. |
| OnWriteStreamClosed(WriteStreamClosedEventArgs) |
Obsoletos.
Genera el evento WriteStreamClosed. |
| OpenRead(String) |
Abre una secuencia legible para los datos descargados de un recurso con el URI especificado como .String |
| OpenRead(Uri) |
Abre una secuencia legible para los datos descargados de un recurso con el URI especificado como .Uri |
| OpenReadAsync(Uri, Object) |
Abre una secuencia legible que contiene el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
| OpenReadAsync(Uri) |
Abre una secuencia legible que contiene el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
| OpenReadTaskAsync(String) |
Abre una secuencia legible que contiene el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
| OpenReadTaskAsync(Uri) |
Abre una secuencia legible que contiene el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
| OpenWrite(String, String) |
Abre una secuencia para escribir datos en el recurso especificado mediante el método especificado. |
| OpenWrite(String) |
Abre una secuencia para escribir datos en el recurso especificado. |
| OpenWrite(Uri, String) |
Abre una secuencia para escribir datos en el recurso especificado mediante el método especificado. |
| OpenWrite(Uri) |
Abre una secuencia para escribir datos en el recurso especificado. |
| OpenWriteAsync(Uri, String, Object) |
Abre una secuencia para escribir datos en el recurso especificado mediante el método especificado. Este método no bloquea el subproceso que realiza la llamada. |
| OpenWriteAsync(Uri, String) |
Abre una secuencia para escribir datos en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
| OpenWriteAsync(Uri) |
Abre una secuencia para escribir datos en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
| OpenWriteTaskAsync(String, String) |
Abre una secuencia para escribir datos en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
| OpenWriteTaskAsync(String) |
Abre una secuencia para escribir datos en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
| OpenWriteTaskAsync(Uri, String) |
Abre una secuencia para escribir datos en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
| OpenWriteTaskAsync(Uri) |
Abre una secuencia para escribir datos en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
| ToString() |
Devuelve un String objeto que contiene el nombre de Component, si existe. Este método no se debe invalidar. (Heredado de Component) |
| UploadData(String, Byte[]) |
Carga un búfer de datos en un recurso identificado por un URI. |
| UploadData(String, String, Byte[]) |
Carga un búfer de datos en el recurso especificado mediante el método especificado. |
| UploadData(Uri, Byte[]) |
Carga un búfer de datos en un recurso identificado por un URI. |
| UploadData(Uri, String, Byte[]) |
Carga un búfer de datos en el recurso especificado mediante el método especificado. |
| UploadDataAsync(Uri, Byte[]) |
Carga un búfer de datos en un recurso identificado por un URI mediante el método POST. Este método no bloquea el subproceso que realiza la llamada. |
| UploadDataAsync(Uri, String, Byte[], Object) |
Carga un búfer de datos en un recurso identificado por un URI mediante el método especificado y el token de identificación. |
| UploadDataAsync(Uri, String, Byte[]) |
Carga un búfer de datos en un recurso identificado por un URI mediante el método especificado. Este método no bloquea el subproceso que realiza la llamada. |
| UploadDataTaskAsync(String, Byte[]) |
Carga un búfer de datos que contiene una Byte matriz en el URI especificado como una operación asincrónica mediante un objeto de tarea. |
| UploadDataTaskAsync(String, String, Byte[]) |
Carga un búfer de datos que contiene una Byte matriz en el URI especificado como una operación asincrónica mediante un objeto de tarea. |
| UploadDataTaskAsync(Uri, Byte[]) |
Carga un búfer de datos que contiene una Byte matriz en el URI especificado como una operación asincrónica mediante un objeto de tarea. |
| UploadDataTaskAsync(Uri, String, Byte[]) |
Carga un búfer de datos que contiene una Byte matriz en el URI especificado como una operación asincrónica mediante un objeto de tarea. |
| UploadFile(String, String, String) |
Carga el archivo local especificado en el recurso especificado mediante el método especificado. |
| UploadFile(String, String) |
Carga el archivo local especificado en un recurso con el URI especificado. |
| UploadFile(Uri, String, String) |
Carga el archivo local especificado en el recurso especificado mediante el método especificado. |
| UploadFile(Uri, String) |
Carga el archivo local especificado en un recurso con el URI especificado. |
| UploadFileAsync(Uri, String, String, Object) |
Carga el archivo local especificado en el recurso especificado mediante el método POST. Este método no bloquea el subproceso que realiza la llamada. |
| UploadFileAsync(Uri, String, String) |
Carga el archivo local especificado en el recurso especificado mediante el método POST. Este método no bloquea el subproceso que realiza la llamada. |
| UploadFileAsync(Uri, String) |
Carga el archivo local especificado en el recurso especificado mediante el método POST. Este método no bloquea el subproceso que realiza la llamada. |
| UploadFileTaskAsync(String, String, String) |
Carga el archivo local especificado en un recurso como una operación asincrónica mediante un objeto de tarea. |
| UploadFileTaskAsync(String, String) |
Carga el archivo local especificado en un recurso como una operación asincrónica mediante un objeto de tarea. |
| UploadFileTaskAsync(Uri, String, String) |
Carga el archivo local especificado en un recurso como una operación asincrónica mediante un objeto de tarea. |
| UploadFileTaskAsync(Uri, String) |
Carga el archivo local especificado en un recurso como una operación asincrónica mediante un objeto de tarea. |
| UploadString(String, String, String) |
Carga la cadena especificada en el recurso especificado mediante el método especificado. |
| UploadString(String, String) |
Carga la cadena especificada en el recurso especificado mediante el método POST. |
| UploadString(Uri, String, String) |
Carga la cadena especificada en el recurso especificado mediante el método especificado. |
| UploadString(Uri, String) |
Carga la cadena especificada en el recurso especificado mediante el método POST. |
| UploadStringAsync(Uri, String, String, Object) |
Carga la cadena especificada en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
| UploadStringAsync(Uri, String, String) |
Carga la cadena especificada en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
| UploadStringAsync(Uri, String) |
Carga la cadena especificada en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
| UploadStringTaskAsync(String, String, String) |
Carga la cadena especificada en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
| UploadStringTaskAsync(String, String) |
Carga la cadena especificada en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
| UploadStringTaskAsync(Uri, String, String) |
Carga la cadena especificada en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
| UploadStringTaskAsync(Uri, String) |
Carga la cadena especificada en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
| UploadValues(String, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado. |
| UploadValues(String, String, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado mediante el método especificado. |
| UploadValues(Uri, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado. |
| UploadValues(Uri, String, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado mediante el método especificado. |
| UploadValuesAsync(Uri, NameValueCollection) |
Carga los datos de la colección name/value especificada en el recurso identificado por el URI especificado. Este método no bloquea el subproceso que realiza la llamada. |
| UploadValuesAsync(Uri, String, NameValueCollection, Object) |
Carga los datos de la colección name/value especificada en el recurso identificado por el URI especificado mediante el método especificado. Este método no bloquea el subproceso que realiza la llamada y permite al autor de la llamada pasar un objeto al método que se invoca cuando se completa la operación. |
| UploadValuesAsync(Uri, String, NameValueCollection) |
Carga los datos de la colección name/value especificada en el recurso identificado por el URI especificado mediante el método especificado. Este método no bloquea el subproceso que realiza la llamada. |
| UploadValuesTaskAsync(String, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado como una operación asincrónica mediante un objeto de tarea. |
| UploadValuesTaskAsync(String, String, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado como una operación asincrónica mediante un objeto de tarea. |
| UploadValuesTaskAsync(Uri, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado como una operación asincrónica mediante un objeto de tarea. |
| UploadValuesTaskAsync(Uri, String, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado como una operación asincrónica mediante un objeto de tarea. |
Eventos
| Nombre | Description |
|---|---|
| Disposed |
Se produce cuando el componente se elimina mediante una llamada al Dispose() método . (Heredado de Component) |
| DownloadDataCompleted |
Se produce cuando se completa una operación de descarga de datos asincrónica. |
| DownloadFileCompleted |
Se produce cuando se completa una operación de descarga de archivos asincrónica. |
| DownloadProgressChanged |
Se produce cuando una operación de descarga asincrónica transfiere correctamente algunos o todos los datos. |
| DownloadStringCompleted |
Se produce cuando se completa una operación asincrónica de descarga de recursos. |
| OpenReadCompleted |
Se produce cuando se completa una operación asincrónica para abrir una secuencia que contiene un recurso. |
| OpenWriteCompleted |
Se produce cuando se completa una operación asincrónica para abrir una secuencia para escribir datos en un recurso. |
| UploadDataCompleted |
Se produce cuando se completa una operación asincrónica de carga de datos. |
| UploadFileCompleted |
Se produce cuando se completa una operación asincrónica de carga de archivos. |
| UploadProgressChanged |
Se produce cuando una operación de carga asincrónica transfiere correctamente algunos o todos los datos. |
| UploadStringCompleted |
Se produce cuando se completa una operación asincrónica de carga de cadenas. |
| UploadValuesCompleted |
Se produce cuando se completa una carga asincrónica de una colección name/value. |
| WriteStreamClosed |
Obsoletos.
Se produce cuando se cierra una operación asincrónica para escribir datos en un recurso mediante una secuencia de escritura. |