WebClient Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет распространенные методы для отправки данных в ресурс и получения данных из ресурса, определяемого универсальным кодом ресурса (URI).
public ref class WebClient : System::ComponentModel::Component
public ref class WebClient sealed : System::ComponentModel::Component
public 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
type WebClient = class
inherit Component
[<System.Runtime.InteropServices.ComVisible(true)>]
type WebClient = class
inherit Component
Public Class WebClient
Inherits Component
Public NotInheritable Class WebClient
Inherits Component
- Наследование
- Атрибуты
Примеры
Следующий пример кода принимает URI ресурса, извлекает его и отображает ответ.
#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
Комментарии
Осторожность
WebRequest, HttpWebRequest, ServicePointи WebClient устарели, и их не следует использовать для новой разработки. Вместо этого используйте HttpClient.
Класс WebClient предоставляет общие методы для отправки данных в любой локальный, интрасети или интернет-ресурс, определяемый URI.
Класс WebClient использует класс WebRequest для предоставления доступа к ресурсам. WebClient экземпляры могут получать доступ к данным с любым WebRequest потомком, зарегистрированным в методе WebRequest.RegisterPrefix.
Заметка
По умолчанию платформа .NET Framework поддерживает URI, начинающиеся с http:, https:, ftp:и идентификаторов схем file:.
В следующей таблице описаны методы WebClient для отправки данных в ресурс.
| Метод | Описание |
|---|---|
| OpenWrite | Извлекает Stream, используемый для отправки данных в ресурс. |
| OpenWriteAsync | Извлекает Stream, используемый для отправки данных в ресурс, не блокируя вызывающий поток. |
| UploadData | Отправляет массив байтов в ресурс и возвращает массив Byte, содержащий любой ответ. |
| UploadDataAsync | Отправляет массив Byte в ресурс, не блокируя вызывающий поток. |
| UploadFile | Отправляет локальный файл в ресурс и возвращает массив Byte, содержащий любой ответ. |
| UploadFileAsync | Отправляет локальный файл в ресурс, не блокируя вызывающий поток. |
| UploadValues | Отправляет NameValueCollection в ресурс и возвращает массив Byte, содержащий любой ответ. |
| UploadValuesAsync | Отправляет NameValueCollection в ресурс и возвращает массив Byte, содержащий любой ответ, не блокируя вызывающий поток. |
| UploadString | Отправляет String в ресурс и возвращает String, содержащую любой ответ. |
| UploadStringAsync | Отправляет String в ресурс, не блокируя вызывающий поток. |
В следующей таблице описаны методы WebClient для скачивания данных из ресурса.
| Метод | Описание |
|---|---|
| OpenRead | Возвращает данные из ресурса в виде Stream. |
| OpenReadAsync | Возвращает данные из ресурса, не блокируя вызывающий поток. |
| DownloadData | Загружает данные из ресурса и возвращает массив Byte. |
| DownloadDataAsync | Загружает данные из ресурса и возвращает массив Byte, не блокируя вызывающий поток. |
| DownloadFile | Загружает данные из ресурса в локальный файл. |
| DownloadFileAsync | Загружает данные из ресурса в локальный файл, не блокируя вызывающий поток. |
| DownloadString | Загружает String из ресурса и возвращает String. |
| DownloadStringAsync | Загружает String из ресурса, не блокируя вызывающий поток. |
Для отмены асинхронных операций можно использовать метод CancelAsync.
Экземпляр WebClient по умолчанию не отправляет необязательные заголовки HTTP. Если запросу требуется необязательный заголовок, необходимо добавить заголовок в коллекцию Headers. Например, чтобы сохранить запросы в ответе, необходимо добавить заголовок агента пользователя. Кроме того, серверы могут возвращать 500 (внутренняя ошибка сервера), если отсутствует заголовок агента пользователя.
AllowAutoRedirect задано значение true в WebClient экземплярах.
Примечания для тех, кто наследует этот метод
Производные классы должны вызывать реализацию базового класса WebClient, чтобы обеспечить правильность работы производного класса.
Конструкторы
| WebClient() |
Устаревшие..
Инициализирует новый экземпляр класса WebClient. |
Свойства
| AllowReadStreamBuffering |
Устаревшие..
Возвращает или задает значение, указывающее, следует ли буферивировать данные из ресурса Интернета для экземпляра WebClient. |
| AllowWriteStreamBuffering |
Устаревшие..
Возвращает или задает значение, указывающее, следует ли буферивировать данные, записанные в интернет-ресурс для экземпляра WebClient. |
| BaseAddress |
Возвращает или задает базовый универсальный код ресурса (URI) для запросов, выполненных WebClient. |
| CachePolicy |
Возвращает или задает политику кэша приложения для всех ресурсов, полученных этим экземпляром WebClient, с помощью WebRequest объектов. |
| CanRaiseEvents |
Возвращает значение, указывающее, может ли компонент вызвать событие. (Унаследовано от Component) |
| Container |
Возвращает IContainer, содержащую Component. (Унаследовано от Component) |
| Credentials |
Возвращает или задает сетевые учетные данные, отправляемые узлу и используемые для проверки подлинности запроса. |
| DesignMode |
Возвращает значение, указывающее, находится ли Component в режиме конструктора. (Унаследовано от Component) |
| Encoding |
Возвращает или задает Encoding, используемый для отправки и скачивания строк. |
| Events |
Возвращает список обработчиков событий, подключенных к этой Component. (Унаследовано от Component) |
| Headers |
Возвращает или задает коллекцию пар имени заголовка и значения, связанных с запросом. |
| IsBusy |
Возвращает, выполняется ли веб-запрос. |
| Proxy |
Возвращает или задает прокси-сервер, используемый этим объектом WebClient. |
| QueryString |
Возвращает или задает коллекцию пар имени запроса и значения, связанных с запросом. |
| ResponseHeaders |
Возвращает коллекцию пар имени заголовка и значения, связанных с ответом. |
| Site |
Возвращает или задает ISiteComponent. (Унаследовано от Component) |
| UseDefaultCredentials |
Возвращает или задает значение Boolean, которое определяет, отправляется ли DefaultCredentials запросами. |
Методы
| CancelAsync() |
Отменяет ожидающая асинхронная операция. |
| CreateObjRef(Type) |
Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
| Dispose() |
Освобождает все ресурсы, используемые Component. (Унаследовано от Component) |
| Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые Component, и при необходимости освобождает управляемые ресурсы. (Унаследовано от Component) |
| DownloadData(String) |
Загружает ресурс в виде массива Byte из указанного URI. |
| DownloadData(Uri) |
Загружает ресурс в виде массива Byte из указанного URI. |
| DownloadDataAsync(Uri) |
Загружает ресурс в виде массива Byte из URI, указанного как асинхронная операция. |
| DownloadDataAsync(Uri, Object) |
Загружает ресурс в виде массива Byte из URI, указанного как асинхронная операция. |
| DownloadDataTaskAsync(String) |
Загружает ресурс в виде массива Byte из URI, указанного как асинхронная операция с помощью объекта задачи. |
| DownloadDataTaskAsync(Uri) |
Загружает ресурс в виде массива Byte из URI, указанного как асинхронная операция с помощью объекта задачи. |
| DownloadFile(String, String) |
Загружает ресурс с указанным универсальным кодом ресурса (URI) в локальный файл. |
| DownloadFile(Uri, String) |
Загружает ресурс с указанным универсальным кодом ресурса (URI) в локальный файл. |
| DownloadFileAsync(Uri, String) |
Загружает в локальный файл ресурс с указанным универсальным кодом ресурса (URI). Этот метод не блокирует вызывающий поток. |
| DownloadFileAsync(Uri, String, Object) |
Загружает в локальный файл ресурс с указанным универсальным кодом ресурса (URI). Этот метод не блокирует вызывающий поток. |
| DownloadFileTaskAsync(String, String) |
Загружает указанный ресурс в локальный файл в виде асинхронной операции с помощью объекта задачи. |
| DownloadFileTaskAsync(Uri, String) |
Загружает указанный ресурс в локальный файл в виде асинхронной операции с помощью объекта задачи. |
| DownloadString(String) |
Загружает запрошенный ресурс в виде String. Ресурс для скачивания указывается как String, содержащий универсальный код ресурса (URI). |
| DownloadString(Uri) |
Загружает запрошенный ресурс в виде String. Скачиваемый ресурс указывается как Uri. |
| DownloadStringAsync(Uri) |
Загружает ресурс, указанный как Uri. Этот метод не блокирует вызывающий поток. |
| DownloadStringAsync(Uri, Object) |
Загружает указанную строку в указанный ресурс. Этот метод не блокирует вызывающий поток. |
| DownloadStringTaskAsync(String) |
Загружает ресурс в виде String из URI, указанного как асинхронная операция с помощью объекта задачи. |
| DownloadStringTaskAsync(Uri) |
Загружает ресурс в виде String из URI, указанного как асинхронная операция с помощью объекта задачи. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetLifetimeService() |
Устаревшие..
Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| GetService(Type) |
Возвращает объект, представляющий службу, предоставляемую Component или Container. (Унаследовано от Component) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| GetWebRequest(Uri) |
Возвращает объект WebRequest для указанного ресурса. |
| GetWebResponse(WebRequest) |
Возвращает WebResponse для указанного WebRequest. |
| GetWebResponse(WebRequest, IAsyncResult) |
Возвращает WebResponse для указанного WebRequest с помощью указанного IAsyncResult. |
| InitializeLifetimeService() |
Устаревшие..
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| MemberwiseClone(Boolean) |
Создает неглубокую копию текущего объекта MarshalByRefObject. (Унаследовано от MarshalByRefObject) |
| OnDownloadDataCompleted(DownloadDataCompletedEventArgs) |
Вызывает событие DownloadDataCompleted. |
| OnDownloadFileCompleted(AsyncCompletedEventArgs) |
Вызывает событие DownloadFileCompleted. |
| OnDownloadProgressChanged(DownloadProgressChangedEventArgs) |
Вызывает событие DownloadProgressChanged. |
| OnDownloadStringCompleted(DownloadStringCompletedEventArgs) |
Вызывает событие DownloadStringCompleted. |
| OnOpenReadCompleted(OpenReadCompletedEventArgs) |
Вызывает событие OpenReadCompleted. |
| OnOpenWriteCompleted(OpenWriteCompletedEventArgs) |
Вызывает событие OpenWriteCompleted. |
| OnUploadDataCompleted(UploadDataCompletedEventArgs) |
Вызывает событие UploadDataCompleted. |
| OnUploadFileCompleted(UploadFileCompletedEventArgs) |
Вызывает событие UploadFileCompleted. |
| OnUploadProgressChanged(UploadProgressChangedEventArgs) |
Вызывает событие UploadProgressChanged. |
| OnUploadStringCompleted(UploadStringCompletedEventArgs) |
Вызывает событие UploadStringCompleted. |
| OnUploadValuesCompleted(UploadValuesCompletedEventArgs) |
Вызывает событие UploadValuesCompleted. |
| OnWriteStreamClosed(WriteStreamClosedEventArgs) |
Устаревшие..
Вызывает событие WriteStreamClosed. |
| OpenRead(String) |
Открывает доступный для чтения поток для данных, скачанных из ресурса с универсальным кодом ресурса (URI), указанным в качестве String. |
| OpenRead(Uri) |
Открывает доступный для чтения поток для данных, скачанных из ресурса с универсальным кодом ресурса (URI), указанным в качестве Uri. |
| OpenReadAsync(Uri) |
Открывает доступный для чтения поток, содержащий указанный ресурс. Этот метод не блокирует вызывающий поток. |
| OpenReadAsync(Uri, Object) |
Открывает доступный для чтения поток, содержащий указанный ресурс. Этот метод не блокирует вызывающий поток. |
| OpenReadTaskAsync(String) |
Открывает доступный для чтения поток, содержащий указанный ресурс в качестве асинхронной операции с помощью объекта задачи. |
| OpenReadTaskAsync(Uri) |
Открывает доступный для чтения поток, содержащий указанный ресурс в качестве асинхронной операции с помощью объекта задачи. |
| OpenWrite(String) |
Открывает поток для записи данных в указанный ресурс. |
| OpenWrite(String, String) |
Открывает поток для записи данных в указанный ресурс с помощью указанного метода. |
| OpenWrite(Uri) |
Открывает поток для записи данных в указанный ресурс. |
| OpenWrite(Uri, String) |
Открывает поток для записи данных в указанный ресурс с помощью указанного метода. |
| OpenWriteAsync(Uri) |
Открывает поток для записи данных в указанный ресурс. Этот метод не блокирует вызывающий поток. |
| OpenWriteAsync(Uri, String) |
Открывает поток для записи данных в указанный ресурс. Этот метод не блокирует вызывающий поток. |
| OpenWriteAsync(Uri, String, Object) |
Открывает поток для записи данных в указанный ресурс с помощью указанного метода. Этот метод не блокирует вызывающий поток. |
| OpenWriteTaskAsync(String) |
Открывает поток для записи данных в указанный ресурс в качестве асинхронной операции с помощью объекта задачи. |
| OpenWriteTaskAsync(String, String) |
Открывает поток для записи данных в указанный ресурс в качестве асинхронной операции с помощью объекта задачи. |
| OpenWriteTaskAsync(Uri) |
Открывает поток для записи данных в указанный ресурс в качестве асинхронной операции с помощью объекта задачи. |
| OpenWriteTaskAsync(Uri, String) |
Открывает поток для записи данных в указанный ресурс в качестве асинхронной операции с помощью объекта задачи. |
| ToString() |
Возвращает String, содержащую имя Component, если таковой имеется. Этот метод не должен быть переопределен. (Унаследовано от Component) |
| UploadData(String, Byte[]) |
Отправляет буфер данных в ресурс, определенный URI. |
| UploadData(String, String, Byte[]) |
Отправляет буфер данных в указанный ресурс с помощью указанного метода. |
| UploadData(Uri, Byte[]) |
Отправляет буфер данных в ресурс, определенный URI. |
| UploadData(Uri, String, Byte[]) |
Отправляет буфер данных в указанный ресурс с помощью указанного метода. |
| UploadDataAsync(Uri, Byte[]) |
Отправляет буфер данных в ресурс, определенный URI, с помощью метода POST. Этот метод не блокирует вызывающий поток. |
| UploadDataAsync(Uri, String, Byte[]) |
Отправляет буфер данных в ресурс, определенный URI, с помощью указанного метода. Этот метод не блокирует вызывающий поток. |
| UploadDataAsync(Uri, String, Byte[], Object) |
Отправляет буфер данных в ресурс, определенный URI, с помощью указанного метода и идентификации маркера. |
| UploadDataTaskAsync(String, Byte[]) |
Отправляет буфер данных, содержащий массив Byte, в URI, указанный в качестве асинхронной операции с помощью объекта задачи. |
| UploadDataTaskAsync(String, String, Byte[]) |
Отправляет буфер данных, содержащий массив Byte, в URI, указанный в качестве асинхронной операции с помощью объекта задачи. |
| UploadDataTaskAsync(Uri, Byte[]) |
Отправляет буфер данных, содержащий массив Byte, в URI, указанный в качестве асинхронной операции с помощью объекта задачи. |
| UploadDataTaskAsync(Uri, String, Byte[]) |
Отправляет буфер данных, содержащий массив Byte, в URI, указанный в качестве асинхронной операции с помощью объекта задачи. |
| UploadFile(String, String) |
Отправляет указанный локальный файл в ресурс с указанным универсальным кодом ресурса (URI). |
| UploadFile(String, String, String) |
Отправляет указанный локальный файл в указанный ресурс с помощью указанного метода. |
| UploadFile(Uri, String) |
Отправляет указанный локальный файл в ресурс с указанным универсальным кодом ресурса (URI). |
| UploadFile(Uri, String, String) |
Отправляет указанный локальный файл в указанный ресурс с помощью указанного метода. |
| UploadFileAsync(Uri, String) |
Отправляет указанный локальный файл в указанный ресурс с помощью метода POST. Этот метод не блокирует вызывающий поток. |
| UploadFileAsync(Uri, String, String) |
Отправляет указанный локальный файл в указанный ресурс с помощью метода POST. Этот метод не блокирует вызывающий поток. |
| UploadFileAsync(Uri, String, String, Object) |
Отправляет указанный локальный файл в указанный ресурс с помощью метода POST. Этот метод не блокирует вызывающий поток. |
| UploadFileTaskAsync(String, String) |
Отправляет указанный локальный файл в ресурс в качестве асинхронной операции с помощью объекта задачи. |
| UploadFileTaskAsync(String, String, String) |
Отправляет указанный локальный файл в ресурс в качестве асинхронной операции с помощью объекта задачи. |
| UploadFileTaskAsync(Uri, String) |
Отправляет указанный локальный файл в ресурс в качестве асинхронной операции с помощью объекта задачи. |
| UploadFileTaskAsync(Uri, String, String) |
Отправляет указанный локальный файл в ресурс в качестве асинхронной операции с помощью объекта задачи. |
| UploadString(String, String) |
Отправляет указанную строку в указанный ресурс с помощью метода POST. |
| UploadString(String, String, String) |
Отправляет указанную строку в указанный ресурс с помощью указанного метода. |
| UploadString(Uri, String) |
Отправляет указанную строку в указанный ресурс с помощью метода POST. |
| UploadString(Uri, String, String) |
Отправляет указанную строку в указанный ресурс с помощью указанного метода. |
| UploadStringAsync(Uri, String) |
Отправляет указанную строку в указанный ресурс. Этот метод не блокирует вызывающий поток. |
| UploadStringAsync(Uri, String, String) |
Отправляет указанную строку в указанный ресурс. Этот метод не блокирует вызывающий поток. |
| UploadStringAsync(Uri, String, String, Object) |
Отправляет указанную строку в указанный ресурс. Этот метод не блокирует вызывающий поток. |
| UploadStringTaskAsync(String, String) |
Отправляет указанную строку в указанный ресурс в качестве асинхронной операции с помощью объекта задачи. |
| UploadStringTaskAsync(String, String, String) |
Отправляет указанную строку в указанный ресурс в качестве асинхронной операции с помощью объекта задачи. |
| UploadStringTaskAsync(Uri, String) |
Отправляет указанную строку в указанный ресурс в качестве асинхронной операции с помощью объекта задачи. |
| UploadStringTaskAsync(Uri, String, String) |
Отправляет указанную строку в указанный ресурс в качестве асинхронной операции с помощью объекта задачи. |
| UploadValues(String, NameValueCollection) |
Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным универсальным кодом ресурса (URI). |
| UploadValues(String, String, NameValueCollection) |
Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным URI, с помощью указанного метода. |
| UploadValues(Uri, NameValueCollection) |
Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным универсальным кодом ресурса (URI). |
| UploadValues(Uri, String, NameValueCollection) |
Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным URI, с помощью указанного метода. |
| UploadValuesAsync(Uri, NameValueCollection) |
Отправляет данные в указанной коллекции имен и значений в ресурс, определенный указанным универсальным кодом ресурса (URI). Этот метод не блокирует вызывающий поток. |
| UploadValuesAsync(Uri, String, NameValueCollection) |
Отправляет данные в указанной коллекции имен и значений в ресурс, определенный указанным универсальным кодом ресурса (URI), с помощью указанного метода. Этот метод не блокирует вызывающий поток. |
| UploadValuesAsync(Uri, String, NameValueCollection, Object) |
Отправляет данные в указанной коллекции имен и значений в ресурс, определенный указанным универсальным кодом ресурса (URI), с помощью указанного метода. Этот метод не блокирует вызывающий поток и позволяет вызывающему объекту передавать объект методу, который вызывается при завершении операции. |
| UploadValuesTaskAsync(String, NameValueCollection) |
Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным универсальным кодом ресурса (URI) как асинхронную операцию с помощью объекта задачи. |
| UploadValuesTaskAsync(String, String, NameValueCollection) |
Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным универсальным кодом ресурса (URI) как асинхронную операцию с помощью объекта задачи. |
| UploadValuesTaskAsync(Uri, NameValueCollection) |
Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным универсальным кодом ресурса (URI) как асинхронную операцию с помощью объекта задачи. |
| UploadValuesTaskAsync(Uri, String, NameValueCollection) |
Отправляет указанную коллекцию имен и значений в ресурс, определенный указанным универсальным кодом ресурса (URI) как асинхронную операцию с помощью объекта задачи. |
События
| Disposed |
Происходит при удалении компонента вызовом метода Dispose(). (Унаследовано от Component) |
| DownloadDataCompleted |
Происходит при завершении асинхронной операции загрузки данных. |
| DownloadFileCompleted |
Происходит при завершении асинхронной операции скачивания файлов. |
| DownloadProgressChanged |
Происходит, когда асинхронная операция скачивания успешно передает некоторые или все данные. |
| DownloadStringCompleted |
Происходит при завершении асинхронной операции загрузки ресурсов. |
| OpenReadCompleted |
Происходит, когда асинхронная операция открытия потока, содержащего ресурс, завершается. |
| OpenWriteCompleted |
Происходит, когда асинхронная операция открытия потока для записи данных в ресурс завершается. |
| UploadDataCompleted |
Происходит при завершении асинхронной операции отправки данных. |
| UploadFileCompleted |
Происходит при завершении асинхронной операции отправки файлов. |
| UploadProgressChanged |
Происходит, когда асинхронная операция отправки успешно передает некоторые или все данные. |
| UploadStringCompleted |
Происходит при завершении асинхронной операции отправки строк. |
| UploadValuesCompleted |
Происходит при завершении асинхронной отправки коллекции имен и значений. |
| WriteStreamClosed |
Устаревшие..
Происходит при закрытии асинхронной операции записи данных в ресурс с помощью потока записи. |