WebClient Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece métodos comuns para enviar e receber dados de um recurso identificado por um 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
- Herança
- Atributos
Exemplos
O seguinte exemplo de código pega no URI de um recurso, recupera-o e mostra a resposta.
#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
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
A WebClient classe fornece métodos comuns para enviar ou receber dados de qualquer recurso local, intranet ou Internet identificado por um URI.
A WebClient classe utiliza a WebRequest classe para fornecer acesso a recursos. WebClient As instâncias podem aceder a dados com qualquer WebRequest descendente registado no WebRequest.RegisterPrefix método.
Note
Por defeito, .NET Framework suporta URIs que começam com http:, https:, ftp: e file: identificadores.
A tabela seguinte descreve WebClient métodos para carregar dados para um recurso.
| Método | Description |
|---|---|
| OpenWrite | Recupera um Stream usado para enviar dados ao recurso. |
| OpenWriteAsync | Recupera um Stream usado para enviar dados ao recurso, sem bloquear o thread que chama. |
| UploadData | Envia um array de bytes para o recurso e devolve um Byte array contendo qualquer resposta. |
| UploadDataAsync | Envia um Byte array para o recurso, sem bloquear o thread que chama. |
| UploadFile | Envia um ficheiro local para o recurso e devolve um Byte array contendo qualquer resposta. |
| UploadFileAsync | Envia um ficheiro local para o recurso, sem bloquear a thread que chama. |
| UploadValues | Envia a NameValueCollection para o recurso e devolve um Byte array contendo qualquer resposta. |
| UploadValuesAsync | Envia a NameValueCollection para o recurso e devolve um Byte array contendo qualquer resposta, sem bloquear o thread que chama. |
| UploadString | Envia a String para o recurso e devolve um String contendo qualquer resposta. |
| UploadStringAsync | Envia a String para o recurso, sem bloquear o thread que chama. |
A tabela seguinte descreve WebClient métodos para descarregar dados de um recurso.
| Método | Description |
|---|---|
| OpenRead | Devolve os dados de um recurso como um Stream. |
| OpenReadAsync | Devolve os dados de um recurso, sem bloquear o thread que chama. |
| DownloadData | Descarrega dados de um recurso e devolve um Byte array. |
| DownloadDataAsync | Descarrega dados de um recurso e devolve um Byte array, sem bloquear o thread que chama. |
| DownloadFile | Descarrega dados de um recurso para um ficheiro local. |
| DownloadFileAsync | Descarrega dados de um recurso para um ficheiro local, sem bloquear o fio que chama. |
| DownloadString | Descarrega um String de um recurso e retorna um String. |
| DownloadStringAsync | Descarrega a String de um recurso, sem bloquear o fio que chama. |
Pode usar o CancelAsync método para tentar cancelar operações assíncronas.
Uma WebClient instância não envia cabeçalhos HTTP opcionais por defeito. Se o seu pedido exigir um cabeçalho opcional, deve adicionar o cabeçalho à Headers coleção. Por exemplo, para reter as consultas na resposta, deve adicionar um cabeçalho user-agent. Além disso, os servidores podem devolver 500 (Erro de Servidor Interno) se o cabeçalho do agente de utilizador estiver em falta.
AllowAutoRedirect está definido como true em instâncias WebClient .
Notas para Herdeiros
As classes derivadas devem chamar a implementação da classe base de WebClient para garantir que a classe derivada funciona como esperado.
Construtores
| Name | Description |
|---|---|
| WebClient() |
Inicializa uma nova instância da WebClient classe. |
Propriedades
| Name | Description |
|---|---|
| AllowReadStreamBuffering |
Obsoleto.
Recebe ou define um valor que indica se deve armazenar em buffer os dados lidos do recurso da Internet para uma WebClient instância. |
| AllowWriteStreamBuffering |
Obsoleto.
Recebe ou define um valor que indica se deve armazenar em buffer os dados escritos no recurso da Internet para uma WebClient instância. |
| BaseAddress |
Obtém ou define o URI base para pedidos feitos por um WebClient. |
| CachePolicy |
Obtém ou define a política de cache da aplicação para quaisquer recursos obtidos por esta instância WebClient usando WebRequest objetos. |
| CanRaiseEvents |
Obtém um valor que indica se o componente pode gerar um evento. (Herdado de Component) |
| Container |
Obtém o IContainer que contém o Component. (Herdado de Component) |
| Credentials |
Obtém ou definem as credenciais de rede que são enviadas ao anfitrião e usadas para autenticar o pedido. |
| DesignMode |
Obtém um valor que indica se o Component está atualmente em modo de design. (Herdado de Component) |
| Encoding |
Obtém ou define o Encoding que é usado para carregar e descarregar strings. |
| Events |
Obtém a lista de gestores de eventos que estão ligados a isto Component. (Herdado de Component) |
| Headers |
Obtém ou define uma coleção de pares de nomes de cabeçalho/valor associados ao pedido. |
| IsBusy |
Percebe se um pedido Web está em curso. |
| Proxy |
Obtém ou define o proxy usado por este WebClient objeto. |
| QueryString |
Recebe ou define uma coleção de pares nome/valor de consulta associados ao pedido. |
| ResponseHeaders |
Recebe uma coleção de pares nome/valor de cabeçalho associados à resposta. |
| Site |
Obtém ou define o ISite do Component. (Herdado de Component) |
| UseDefaultCredentials |
Recebe ou define um Boolean valor que controla se são DefaultCredentials enviados com pedidos. |
Métodos
| Name | Description |
|---|---|
| CancelAsync() |
Cancela uma operação assíncrona pendente. |
| CreateObjRef(Type) |
Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
| Dispose() |
Liberta todos os recursos utilizados pelo Component. (Herdado de Component) |
| Dispose(Boolean) |
Liberta os recursos não geridos usados pelo Component e opcionalmente liberta os recursos geridos. (Herdado de Component) |
| DownloadData(String) |
Descarrega o recurso como um Byte array a partir do URI especificado. |
| DownloadData(Uri) |
Descarrega o recurso como um Byte array a partir do URI especificado. |
| DownloadDataAsync(Uri, Object) |
Descarrega o recurso como um Byte array a partir do URI especificado como uma operação assíncrona. |
| DownloadDataAsync(Uri) |
Descarrega o recurso como um Byte array a partir do URI especificado como uma operação assíncrona. |
| DownloadDataTaskAsync(String) |
Descarrega o recurso como um Byte array a partir do URI especificado como uma operação assíncrona usando um objeto tarefa. |
| DownloadDataTaskAsync(Uri) |
Descarrega o recurso como um Byte array a partir do URI especificado como uma operação assíncrona usando um objeto tarefa. |
| DownloadFile(String, String) |
Descarrega o recurso com o URI especificado para um ficheiro local. |
| DownloadFile(Uri, String) |
Descarrega o recurso com o URI especificado para um ficheiro local. |
| DownloadFileAsync(Uri, String, Object) |
Descarrega, para um ficheiro local, o recurso com o URI especificado. Este método não bloqueia o thread que chama. |
| DownloadFileAsync(Uri, String) |
Descarrega, para um ficheiro local, o recurso com o URI especificado. Este método não bloqueia o thread que chama. |
| DownloadFileTaskAsync(String, String) |
Descarrega o recurso especificado para um ficheiro local como uma operação assíncrona usando um objeto tarefa. |
| DownloadFileTaskAsync(Uri, String) |
Descarrega o recurso especificado para um ficheiro local como uma operação assíncrona usando um objeto tarefa. |
| DownloadString(String) |
Descarrega o recurso solicitado como um String. O recurso a descarregar é especificado como contendo String o URI. |
| DownloadString(Uri) |
Descarrega o recurso solicitado como um String. O recurso a descarregar é especificado como um Uri. |
| DownloadStringAsync(Uri, Object) |
Descarrega a cadeia especificada para o recurso especificado. Este método não bloqueia o thread que chama. |
| DownloadStringAsync(Uri) |
Descarrega o recurso especificado como um Uri. Este método não bloqueia o thread que chama. |
| DownloadStringTaskAsync(String) |
Descarrega o recurso como um String a partir do URI especificado como uma operação assíncrona usando um objeto tarefa. |
| DownloadStringTaskAsync(Uri) |
Descarrega o recurso como um String a partir do URI especificado como uma operação assíncrona usando um objeto tarefa. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetLifetimeService() |
Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso. (Herdado de MarshalByRefObject) |
| GetService(Type) |
Devolve um objeto que representa um serviço fornecido pelo Component ou pelo seu Container. (Herdado de Component) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetWebRequest(Uri) |
Devolve um WebRequest objeto para o recurso especificado. |
| GetWebResponse(WebRequest, IAsyncResult) |
Devolve o WebResponse para o especificado WebRequest usando o especificado IAsyncResult. |
| GetWebResponse(WebRequest) |
Devolve o WebResponse para o especificado WebRequest. |
| InitializeLifetimeService() |
Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso. (Herdado de MarshalByRefObject) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| OnDownloadDataCompleted(DownloadDataCompletedEventArgs) |
Eleva o DownloadDataCompleted evento. |
| OnDownloadFileCompleted(AsyncCompletedEventArgs) |
Eleva o DownloadFileCompleted evento. |
| OnDownloadProgressChanged(DownloadProgressChangedEventArgs) |
Eleva o DownloadProgressChanged evento. |
| OnDownloadStringCompleted(DownloadStringCompletedEventArgs) |
Eleva o DownloadStringCompleted evento. |
| OnOpenReadCompleted(OpenReadCompletedEventArgs) |
Eleva o OpenReadCompleted evento. |
| OnOpenWriteCompleted(OpenWriteCompletedEventArgs) |
Eleva o OpenWriteCompleted evento. |
| OnUploadDataCompleted(UploadDataCompletedEventArgs) |
Eleva o UploadDataCompleted evento. |
| OnUploadFileCompleted(UploadFileCompletedEventArgs) |
Eleva o UploadFileCompleted evento. |
| OnUploadProgressChanged(UploadProgressChangedEventArgs) |
Eleva o UploadProgressChanged evento. |
| OnUploadStringCompleted(UploadStringCompletedEventArgs) |
Eleva o UploadStringCompleted evento. |
| OnUploadValuesCompleted(UploadValuesCompletedEventArgs) |
Eleva o UploadValuesCompleted evento. |
| OnWriteStreamClosed(WriteStreamClosedEventArgs) |
Obsoleto.
Eleva o WriteStreamClosed evento. |
| OpenRead(String) |
Abre um fluxo legível para os dados descarregados de um recurso com o URI especificado como um String. |
| OpenRead(Uri) |
Abre um fluxo legível para os dados descarregados de um recurso com o URI especificado como um Uri. |
| OpenReadAsync(Uri, Object) |
Abre um fluxo legível contendo o recurso especificado. Este método não bloqueia o thread que chama. |
| OpenReadAsync(Uri) |
Abre um fluxo legível contendo o recurso especificado. Este método não bloqueia o thread que chama. |
| OpenReadTaskAsync(String) |
Abre um fluxo legível contendo o recurso especificado como uma operação assíncrona usando um objeto tarefa. |
| OpenReadTaskAsync(Uri) |
Abre um fluxo legível contendo o recurso especificado como uma operação assíncrona usando um objeto tarefa. |
| OpenWrite(String, String) |
Abre um fluxo para escrever dados no recurso especificado, usando o método especificado. |
| OpenWrite(String) |
Abre um fluxo para escrever dados no recurso especificado. |
| OpenWrite(Uri, String) |
Abre um fluxo para escrever dados no recurso especificado, utilizando o método especificado. |
| OpenWrite(Uri) |
Abre um fluxo para escrever dados no recurso especificado. |
| OpenWriteAsync(Uri, String, Object) |
Abre um fluxo para escrever dados no recurso especificado, usando o método especificado. Este método não bloqueia o thread que chama. |
| OpenWriteAsync(Uri, String) |
Abre um fluxo para escrever dados no recurso especificado. Este método não bloqueia o thread que chama. |
| OpenWriteAsync(Uri) |
Abre um fluxo para escrever dados no recurso especificado. Este método não bloqueia o thread que chama. |
| OpenWriteTaskAsync(String, String) |
Abre um fluxo para escrever dados no recurso especificado como uma operação assíncrona usando um objeto tarefa. |
| OpenWriteTaskAsync(String) |
Abre um fluxo para escrever dados no recurso especificado como uma operação assíncrona usando um objeto tarefa. |
| OpenWriteTaskAsync(Uri, String) |
Abre um fluxo para escrever dados no recurso especificado como uma operação assíncrona usando um objeto tarefa. |
| OpenWriteTaskAsync(Uri) |
Abre um fluxo para escrever dados no recurso especificado como uma operação assíncrona usando um objeto tarefa. |
| ToString() |
Devolve a String contendo o nome do Component, se existir. Este método não deve ser ultrapassado. (Herdado de Component) |
| UploadData(String, Byte[]) |
Carrega um buffer de dados para um recurso identificado por um URI. |
| UploadData(String, String, Byte[]) |
Carrega um buffer de dados para o recurso especificado, usando o método especificado. |
| UploadData(Uri, Byte[]) |
Carrega um buffer de dados para um recurso identificado por um URI. |
| UploadData(Uri, String, Byte[]) |
Carrega um buffer de dados para o recurso especificado, usando o método especificado. |
| UploadDataAsync(Uri, Byte[]) |
Carrega um buffer de dados para um recurso identificado por um URI, usando o método POST. Este método não bloqueia o thread que chama. |
| UploadDataAsync(Uri, String, Byte[], Object) |
Carrega um buffer de dados para um recurso identificado por um URI, usando o método especificado e o token identificador. |
| UploadDataAsync(Uri, String, Byte[]) |
Carrega um buffer de dados para um recurso identificado por um URI, usando o método especificado. Este método não bloqueia o thread que chama. |
| UploadDataTaskAsync(String, Byte[]) |
Carrega um buffer de dados que contém um Byte array para o URI especificado como uma operação assíncrona usando um objeto de tarefa. |
| UploadDataTaskAsync(String, String, Byte[]) |
Carrega um buffer de dados que contém um Byte array para o URI especificado como uma operação assíncrona usando um objeto de tarefa. |
| UploadDataTaskAsync(Uri, Byte[]) |
Carrega um buffer de dados que contém um Byte array para o URI especificado como uma operação assíncrona usando um objeto de tarefa. |
| UploadDataTaskAsync(Uri, String, Byte[]) |
Carrega um buffer de dados que contém um Byte array para o URI especificado como uma operação assíncrona usando um objeto de tarefa. |
| UploadFile(String, String, String) |
Carrega o ficheiro local especificado para o recurso especificado, usando o método especificado. |
| UploadFile(String, String) |
Carrega o ficheiro local especificado para um recurso com o URI especificado. |
| UploadFile(Uri, String, String) |
Carrega o ficheiro local especificado para o recurso especificado, usando o método especificado. |
| UploadFile(Uri, String) |
Carrega o ficheiro local especificado para um recurso com o URI especificado. |
| UploadFileAsync(Uri, String, String, Object) |
Carrega o ficheiro local especificado para o recurso especificado, usando o método POST. Este método não bloqueia o thread que chama. |
| UploadFileAsync(Uri, String, String) |
Carrega o ficheiro local especificado para o recurso especificado, usando o método POST. Este método não bloqueia o thread que chama. |
| UploadFileAsync(Uri, String) |
Carrega o ficheiro local especificado para o recurso especificado, usando o método POST. Este método não bloqueia o thread que chama. |
| UploadFileTaskAsync(String, String, String) |
Carrega o ficheiro local especificado para um recurso como uma operação assíncrona usando um objeto de tarefa. |
| UploadFileTaskAsync(String, String) |
Carrega o ficheiro local especificado para um recurso como uma operação assíncrona usando um objeto de tarefa. |
| UploadFileTaskAsync(Uri, String, String) |
Carrega o ficheiro local especificado para um recurso como uma operação assíncrona usando um objeto de tarefa. |
| UploadFileTaskAsync(Uri, String) |
Carrega o ficheiro local especificado para um recurso como uma operação assíncrona usando um objeto de tarefa. |
| UploadString(String, String, String) |
Carrega a string especificada para o recurso especificado, usando o método especificado. |
| UploadString(String, String) |
Carrega a string especificada para o recurso especificado, usando o método POST. |
| UploadString(Uri, String, String) |
Carrega a string especificada para o recurso especificado, usando o método especificado. |
| UploadString(Uri, String) |
Carrega a string especificada para o recurso especificado, usando o método POST. |
| UploadStringAsync(Uri, String, String, Object) |
Carrega a string especificada para o recurso especificado. Este método não bloqueia o thread que chama. |
| UploadStringAsync(Uri, String, String) |
Carrega a string especificada para o recurso especificado. Este método não bloqueia o thread que chama. |
| UploadStringAsync(Uri, String) |
Carrega a string especificada para o recurso especificado. Este método não bloqueia o thread que chama. |
| UploadStringTaskAsync(String, String, String) |
Carrega a string especificada para o recurso especificado como uma operação assíncrona usando um objeto de tarefa. |
| UploadStringTaskAsync(String, String) |
Carrega a string especificada para o recurso especificado como uma operação assíncrona usando um objeto de tarefa. |
| UploadStringTaskAsync(Uri, String, String) |
Carrega a string especificada para o recurso especificado como uma operação assíncrona usando um objeto de tarefa. |
| UploadStringTaskAsync(Uri, String) |
Carrega a string especificada para o recurso especificado como uma operação assíncrona usando um objeto de tarefa. |
| UploadValues(String, NameValueCollection) |
Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado. |
| UploadValues(String, String, NameValueCollection) |
Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado, usando o método especificado. |
| UploadValues(Uri, NameValueCollection) |
Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado. |
| UploadValues(Uri, String, NameValueCollection) |
Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado, usando o método especificado. |
| UploadValuesAsync(Uri, NameValueCollection) |
Carrega os dados da coleção de nome/valor especificada para o recurso identificado pelo URI especificado. Este método não bloqueia o thread que chama. |
| UploadValuesAsync(Uri, String, NameValueCollection, Object) |
Carrega os dados da coleção de nome/valor especificada para o recurso identificado pelo URI especificado, usando o método especificado. Este método não bloqueia o thread que chama e permite ao chamador passar um objeto para o método que é invocado quando a operação termina. |
| UploadValuesAsync(Uri, String, NameValueCollection) |
Carrega os dados da coleção de nome/valor especificada para o recurso identificado pelo URI especificado, usando o método especificado. Este método não bloqueia o thread que chama. |
| UploadValuesTaskAsync(String, NameValueCollection) |
Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado como uma operação assíncrona usando um objeto tarefa. |
| UploadValuesTaskAsync(String, String, NameValueCollection) |
Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado como uma operação assíncrona usando um objeto tarefa. |
| UploadValuesTaskAsync(Uri, NameValueCollection) |
Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado como uma operação assíncrona usando um objeto tarefa. |
| UploadValuesTaskAsync(Uri, String, NameValueCollection) |
Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado como uma operação assíncrona usando um objeto tarefa. |
evento
| Name | Description |
|---|---|
| Disposed |
Ocorre quando o componente é eliminado por uma chamada ao Dispose() método. (Herdado de Component) |
| DownloadDataCompleted |
Ocorre quando uma operação de descarga assíncrona de dados é concluída. |
| DownloadFileCompleted |
Ocorre quando uma operação de download de ficheiros assíncrona é concluída. |
| DownloadProgressChanged |
Ocorre quando uma operação de download assíncrona transfere com sucesso parte ou a totalidade dos dados. |
| DownloadStringCompleted |
Ocorre quando uma operação assíncrona de download de recursos é concluída. |
| OpenReadCompleted |
Ocorre quando uma operação assíncrona para abrir um fluxo contendo um recurso é concluída. |
| OpenWriteCompleted |
Ocorre quando uma operação assíncrona para abrir um fluxo e escrever dados num recurso é concluída. |
| UploadDataCompleted |
Ocorre quando uma operação assíncrona de carregamento de dados é concluída. |
| UploadFileCompleted |
Ocorre quando uma operação assíncrona de carregamento de ficheiros é concluída. |
| UploadProgressChanged |
Ocorre quando uma operação de upload assíncrona transfere com sucesso parte ou a totalidade dos dados. |
| UploadStringCompleted |
Ocorre quando uma operação assíncrona de carregamento de strings é concluída. |
| UploadValuesCompleted |
Ocorre quando um carregamento assíncrono de uma coleção de nomes/valores é concluído. |
| WriteStreamClosed |
Obsoleto.
Ocorre quando uma operação assíncrona para escrever dados num recurso usando um fluxo de escrita é encerrada. |