#region 程序集 System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll
#endregion
using System.Collections.Specialized;
using System.ComponentModel;
using System.IO;
using System.Net.Cache;
using System.Runtime;
using System.Runtime.InteropServices;
using System.Text;
namespace System.Net
{
//
// 摘要:
// 提供向 URI 标识的资源发送数据和从 URI 标识的资源接收数据的公共方法。
[ComVisible(true)]
public class WebClient : Component
{
//
// 摘要:
// 初始化 System.Net.WebClient 类的新实例。
public WebClient();
//
// 摘要:
// 获取或设置 System.Net.WebClient 发出请求的基 URI。
//
// 返回结果:
// System.String,包含 System.Net.WebClient 请求的基 URI;如果尚未指定基地址,则为 System.String.Empty。
//
// 异常:
// T:System.ArgumentException:
// System.Net.WebClient.BaseAddress 被设置为无效的 URI。内部异常可能包含有助于找到错误的信息。
public string BaseAddress { get; set; }
//
// 摘要:
// 获取或设置发送到主机并用于对请求进行身份验证的网络凭据。
//
// 返回结果:
// 一个 System.Net.ICredentials,包含该请求的身份验证凭据。默认值为 null。
public ICredentials Credentials { get; set; }
//
// 摘要:
// 获取或设置 System.Boolean 值,该值控制 System.Net.CredentialCache.DefaultCredentials 是否随请求一起发送。
//
// 返回结果:
// 如果使用默认凭据,则为 true;否则为 false。默认值为 false。
public bool UseDefaultCredentials { get; set; }
//
// 摘要:
// 获取或设置与请求关联的标头名称/值对集合。
//
// 返回结果:
// 一个 System.Net.WebHeaderCollection,包含与此请求关联的标头名称/值对。
public WebHeaderCollection Headers { get; set; }
//
// 摘要:
// 获取或设置与请求关联的查询名称/值对集合。
//
// 返回结果:
// 一个 System.Collections.Specialized.NameValueCollection,包含与请求关联的查询名称/值对。如果没有与请求关联的名称/值对,则值为空的
// System.Collections.Specialized.NameValueCollection。
public NameValueCollection QueryString { get; set; }
//
// 摘要:
// 获取与响应关联的标头名称/值对集合。
//
// 返回结果:
// System.Net.WebHeaderCollection,包含与响应关联的标头名称/值对;如果尚未收到任何响应,则为 null。
public WebHeaderCollection ResponseHeaders { get; }
//
// 摘要:
// 获取或设置此 System.Net.WebClient 对象使用的代理。
//
// 返回结果:
// 用于发送请求的 System.Net.IWebProxy 实例。
//
// 异常:
// T:System.ArgumentNullException:
// System.Net.WebClient.Proxy 被设置为 null。
public IWebProxy Proxy { get; set; }
//
// 摘要:
// 对于此 WebClient 实例使用 System.Net.WebRequest 对象获得的任何资源,获取或设置应用程序的缓存策略。
//
// 返回结果:
// 一个 System.Net.Cache.RequestCachePolicy 对象,表示应用程序的缓存要求。
public RequestCachePolicy CachePolicy { get; set; }
//
// 摘要:
// 获取和设置用于上载和下载字符串的 System.Text.Encoding。
//
// 返回结果:
// 用于对字符串进行编码的 System.Text.Encoding。此属性的默认值为 System.Text.Encoding.Default 返回的编码。
public Encoding Encoding { get; set; }
//
// 摘要:
// 了解是否存在进行中的 Web 请求。
//
// 返回结果:
// 如果存在进行中的 Web 请求,则为 true;否则为 false。
public bool IsBusy { get; }
//
// 摘要:
// 在打开流以将数据写入资源的异步操作完成时发生。
public event OpenWriteCompletedEventHandler OpenWriteCompleted;
//
// 摘要:
// 在异步资源下载操作完成时发生。
public event DownloadStringCompletedEventHandler DownloadStringCompleted;
//
// 摘要:
// 在异步数据下载操作完成时发生。
public event DownloadDataCompletedEventHandler DownloadDataCompleted;
//
// 摘要:
// 在异步文件下载操作完成时发生。
public event AsyncCompletedEventHandler DownloadFileCompleted;
//
// 摘要:
// 在异步字符串上载操作完成时发生。
public event UploadStringCompletedEventHandler UploadStringCompleted;
//
// 摘要:
// 在异步数据上载操作完成时发生。
public event UploadDataCompletedEventHandler UploadDataCompleted;
//
// 摘要:
// 在异步文件上载操作完成时发生。
public event UploadFileCompletedEventHandler UploadFileCompleted;
//
// 摘要:
// 在名称/值集合的异步上载完成时发生。
public event UploadValuesCompletedEventHandler UploadValuesCompleted;
//
// 摘要:
// 在以下异步操作完成时发生,该操作打开包含某个资源的流。
public event OpenReadCompletedEventHandler OpenReadCompleted;
//
// 摘要:
// 在异步下载操作成功转换部分或全部数据后发生。
public event DownloadProgressChangedEventHandler DownloadProgressChanged;
//
// 摘要:
// 在异步上载操作成功转换部分或全部数据后发生。
public event UploadProgressChangedEventHandler UploadProgressChanged;
//
// 摘要:
// 取消一个挂起的异步操作。
public void CancelAsync();
//
// 摘要:
// 以 System.Byte 数组形式通过指定的 URI 下载资源。
//
// 参数:
// address:
// 从中下载数据的 URI。
//
// 返回结果:
// 一个 System.Byte 数组,其中包含下载的资源。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -下载数据时发生错误。
//
// T:System.NotSupportedException:
// 该方法已在多个线程上同时调用。
public byte[] DownloadData(string address);
//
// 摘要:
// 以 System.Byte 数组形式通过指定的 URI 下载资源。
//
// 参数:
// address:
// 由 System.Uri 对象表示的 URI,将从中下载数据。
//
// 返回结果:
// 一个 System.Byte 数组,其中包含下载的资源。
public byte[] DownloadData(Uri address);
//
// 摘要:
// 以 System.Byte 数组形式下载指定的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 包含要下载的 URI 的 System.Uri。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -下载资源时出现错误。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public void DownloadDataAsync(Uri address);
//
// 摘要:
// 以 System.Byte 数组形式下载指定的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 包含要下载的 URI 的 System.Uri。
//
// userToken:
// 一个用户定义对象,此对象将被传递给完成异步操作时所调用的方法。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -下载资源时出现错误。
public void DownloadDataAsync(Uri address, object userToken);
//
// 摘要:
// 将具有指定 URI 的资源下载到本地文件。
//
// 参数:
// address:
// 从中下载数据的 URI。
//
// fileName:
// 要接收数据的本地文件的名称。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -filename 为 null
// 或 System.String.Empty。- 或 -文件不存在。- 或 - 下载数据时发生错误。
//
// T:System.NotSupportedException:
// 该方法已在多个线程上同时调用。
public void DownloadFile(string address, string fileName);
//
// 摘要:
// 将具有指定 URI 的资源下载到本地文件。
//
// 参数:
// address:
// 以 System.String 形式指定的 URI,将从中下载数据。
//
// fileName:
// 要接收数据的本地文件的名称。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -filename 为 null
// 或 System.String.Empty。- 或 -文件不存在。 - 或 -下载数据时发生错误。
//
// T:System.NotSupportedException:
// 该方法已在多个线程上同时调用。
public void DownloadFile(Uri address, string fileName);
//
// 摘要:
// 将具有指定 URI 的资源下载到本地文件。此方法不会阻止调用线程。
//
// 参数:
// address:
// 要下载的资源的 URI。
//
// fileName:
// 要放在本地计算机上的文件的名称。
//
// userToken:
// 一个用户定义对象,此对象将被传递给完成异步操作时所调用的方法。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -下载资源时出现错误。
//
// T:System.InvalidOperationException:
// fileName 指定的本地文件正由另一个线程使用。
public void DownloadFileAsync(Uri address, string fileName, object userToken);
//
// 摘要:
// 将具有指定 URI 的资源下载到本地文件。此方法不会阻止调用线程。
//
// 参数:
// address:
// 要下载的资源的 URI。
//
// fileName:
// 要放在本地计算机上的文件的名称。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -下载资源时出现错误。
//
// T:System.InvalidOperationException:
// fileName 指定的本地文件正由另一个线程使用。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public void DownloadFileAsync(Uri address, string fileName);
//
// 摘要:
// 以 System.String 形式下载请求的资源。以包含 URI 的 System.String 的形式指定要下载的资源。
//
// 参数:
// address:
// 包含要下载的 URI 的 System.String。
//
// 返回结果:
// 一个 System.String,其中包含请求的资源。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -下载资源时出现错误。
//
// T:System.NotSupportedException:
// 该方法已在多个线程上同时调用。
public string DownloadString(string address);
//
// 摘要:
// 以 System.String 形式下载请求的资源。以 System.Uri 形式指定要下载的资源。
//
// 参数:
// address:
// 一个 System.Uri 对象,其中包含要下载的 URI。
//
// 返回结果:
// 一个 System.String,其中包含请求的资源。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -下载资源时出现错误。
//
// T:System.NotSupportedException:
// 该方法已在多个线程上同时调用。
public string DownloadString(Uri address);
//
// 摘要:
// 将指定的字符串下载到指定的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 包含要下载的 URI 的 System.Uri。
//
// userToken:
// 一个用户定义对象,此对象将被传递给完成异步操作时所调用的方法。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -下载资源时出现错误。
public void DownloadStringAsync(Uri address, object userToken);
//
// 摘要:
// 下载以 System.Uri 形式指定的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 包含要下载的 URI 的 System.Uri。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -下载资源时出现错误。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public void DownloadStringAsync(Uri address);
//
// 摘要:
// 为从具有 System.String 指定的 URI 的资源下载的数据打开一个可读的流。
//
// 参数:
// address:
// 以 System.String 形式指定的 URI,将从中下载数据。
//
// 返回结果:
// 一个 System.IO.Stream,用于从资源读取数据。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -下载数据时发生错误。
public Stream OpenRead(string address);
//
// 摘要:
// 为从具有 System.Uri 指定的 URI 的资源下载的数据打开一个可读的流
//
// 参数:
// address:
// 以 System.Uri 形式指定的 URI,将从中下载数据。
//
// 返回结果:
// 一个 System.IO.Stream,用于从资源读取数据。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -下载数据时发生错误。
public Stream OpenRead(Uri address);
//
// 摘要:
// 打开包含指定资源的可读流。此方法不会阻止调用线程。
//
// 参数:
// address:
// 要检索的资源的 URI。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -下载资源时出现错误。-
// 或 -打开流时发生错误。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public void OpenReadAsync(Uri address);
//
// 摘要:
// 打开包含指定资源的可读流。此方法不会阻止调用线程。
//
// 参数:
// address:
// 要检索的资源的 URI。
//
// userToken:
// 一个用户定义对象,此对象将被传递给完成异步操作时所调用的方法。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -下载资源时出现错误。-
// 或 -打开流时发生错误。
public void OpenReadAsync(Uri address, object userToken);
//
// 摘要:
// 打开一个流以将数据写入指定的资源。
//
// 参数:
// address:
// 接收数据的资源的 URI。
//
// 返回结果:
// 用于将数据写入资源的 System.IO.Stream。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -打开流时发生错误。
public Stream OpenWrite(string address);
//
// 摘要:
// 打开一个流以使用指定的方法向指定的资源写入数据。
//
// 参数:
// address:
// 接收数据的资源的 URI。
//
// method:
// 用于将数据发送到资源的方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// 返回结果:
// 用于将数据写入资源的 System.IO.Stream。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -打开流时发生错误。
public Stream OpenWrite(string address, string method);
//
// 摘要:
// 打开一个流以使用指定的方法将数据写入指定的资源。
//
// 参数:
// address:
// 接收数据的资源的 URI。
//
// method:
// 用于将数据发送到资源的方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// 返回结果:
// 用于将数据写入资源的 System.IO.Stream。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -打开流时发生错误。
public Stream OpenWrite(Uri address, string method);
//
// 摘要:
// 打开一个流以将数据写入指定的资源。
//
// 参数:
// address:
// 接收数据的资源的 URI。
//
// 返回结果:
// 用于将数据写入资源的 System.IO.Stream。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -打开流时发生错误。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public Stream OpenWrite(Uri address);
//
// 摘要:
// 打开一个流以将数据写入指定的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 接收数据的资源的 URI。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public void OpenWriteAsync(Uri address);
//
// 摘要:
// 打开一个流以使用指定的方法向指定的资源写入数据。此方法不会阻止调用线程。
//
// 参数:
// address:
// 接收数据的资源的 URI。
//
// method:
// 用于将数据发送到资源的方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// userToken:
// 一个用户定义对象,此对象将被传递给完成异步操作时所调用的方法
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -打开流时发生错误。
public void OpenWriteAsync(Uri address, string method, object userToken);
//
// 摘要:
// 打开一个流以将数据写入指定的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 接收数据的资源的 URI。
//
// method:
// 用于将数据发送到资源的方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public void OpenWriteAsync(Uri address, string method);
//
// 摘要:
// 将数据缓冲区上载到由 URI 标识的资源。
//
// 参数:
// address:
// 接收数据的资源的 URI。
//
// data:
// 要发送到资源的数据缓冲。
//
// 返回结果:
// 一个 System.Byte 数组,它包含来自资源的响应的正文。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -data 为 null。-
// 或 -发送数据时出错。- 或 -承载资源的服务器没有响应。
public byte[] UploadData(string address, byte[] data);
//
// 摘要:
// 使用指定的方法将数据缓冲区上载到指定资源。
//
// 参数:
// address:
// 接收数据的资源的 URI。
//
// method:
// 用于将数据发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// data:
// 要发送到资源的数据缓冲。
//
// 返回结果:
// 一个 System.Byte 数组,它包含来自资源的响应的正文。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -data 为 null。-
// 或 -上载数据时出错。- 或 -承载资源的服务器没有响应。
public byte[] UploadData(string address, string method, byte[] data);
//
// 摘要:
// 使用指定的方法将数据缓冲区上载到指定资源。
//
// 参数:
// address:
// 接收数据的资源的 URI。
//
// method:
// 用于将数据发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// data:
// 要发送到资源的数据缓冲。
//
// 返回结果:
// 一个 System.Byte 数组,它包含来自资源的响应的正文。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -data 为 null。-
// 或 -上载数据时出错。- 或 -承载资源的服务器没有响应。
public byte[] UploadData(Uri address, string method, byte[] data);
//
// 摘要:
// 将数据缓冲区上载到由 URI 标识的资源。
//
// 参数:
// address:
// 接收数据的资源的 URI。
//
// data:
// 要发送到资源的数据缓冲。
//
// 返回结果:
// 一个 System.Byte 数组,它包含来自资源的响应的正文。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -data 为 null。-
// 或 -发送数据时出错。- 或 -承载资源的服务器没有响应。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public byte[] UploadData(Uri address, byte[] data);
//
// 摘要:
// 使用指定的方法和标识标记将数据缓冲区上载到由 URI 标识的资源。
//
// 参数:
// address:
// 接收数据的资源的 URI。
//
// method:
// 用于将文件发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// data:
// 要发送到资源的数据缓冲。
//
// userToken:
// 一个用户定义对象,此对象将被传递给完成异步操作时所调用的方法。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -打开流时发生错误。- 或
// -承载资源的服务器没有响应。
public void UploadDataAsync(Uri address, string method, byte[] data, object userToken);
//
// 摘要:
// 使用 POST 方法将数据缓冲区上载到由 URI 标识的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 接收数据的资源的 URI。
//
// data:
// 要发送到资源的数据缓冲。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -打开流时发生错误。- 或
// -承载资源的服务器没有响应。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public void UploadDataAsync(Uri address, byte[] data);
//
// 摘要:
// 使用指定的方法将数据缓冲区上载到由 URI 标识的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 接收数据的资源的 URI。
//
// method:
// 用于将文件发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// data:
// 要发送到资源的数据缓冲。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -打开流时发生错误。- 或
// -承载资源的服务器没有响应。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public void UploadDataAsync(Uri address, string method, byte[] data);
//
// 摘要:
// 使用指定的方法将指定的本地文件上载到指定的资源。
//
// 参数:
// address:
// 接收文件的资源的 URI。
//
// method:
// 用于将文件发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// fileName:
// 要发送到资源的文件。
//
// 返回结果:
// 一个 System.Byte 数组,它包含来自资源的响应的正文。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -fileName 为 null、为
// System.String.Empty、包含无效字符或者不存在。- 或 -上载文件时出错。- 或 -承载资源的服务器没有响应。- 或 -Content-type
// 标头以 multipart 开头。
public byte[] UploadFile(string address, string method, string fileName);
//
// 摘要:
// 使用指定的方法将指定的本地文件上载到指定的资源。
//
// 参数:
// address:
// 接收文件的资源的 URI。
//
// method:
// 用于将文件发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// fileName:
// 要发送到资源的文件。
//
// 返回结果:
// 一个 System.Byte 数组,它包含来自资源的响应的正文。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -fileName 为 null、为
// System.String.Empty、包含无效字符或者不存在。- 或 -上载文件时出错。- 或 -承载资源的服务器没有响应。- 或 -Content-type
// 标头以 multipart 开头。
public byte[] UploadFile(Uri address, string method, string fileName);
//
// 摘要:
// 将指定的本地文件上载到具有指定 URI 的资源。
//
// 参数:
// address:
// 接收文件的资源的 URI。例如,ftp://localhost/samplefile.txt。
//
// fileName:
// 要发送到资源的文件。例如,“samplefile.txt”。
//
// 返回结果:
// 一个 System.Byte 数组,它包含来自资源的响应的正文。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -fileName 为 null、为
// System.String.Empty、包含无效字符或者不存在。- 或 -上载文件时出错。- 或 -承载资源的服务器没有响应。- 或 -Content-type
// 标头以 multipart 开头。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public byte[] UploadFile(Uri address, string fileName);
//
// 摘要:
// 将指定的本地文件上载到具有指定 URI 的资源。
//
// 参数:
// address:
// 接收文件的资源的 URI。例如,ftp://localhost/samplefile.txt。
//
// fileName:
// 要发送到资源的文件。例如,“samplefile.txt”。
//
// 返回结果:
// 一个 System.Byte 数组,它包含来自资源的响应的正文。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -fileName 为 null、为
// System.String.Empty、包含无效字符或者不存在。- 或 -上载文件时出错。- 或 -承载资源的服务器没有响应。- 或 -Content-type
// 标头以 multipart 开头。
public byte[] UploadFile(string address, string fileName);
//
// 摘要:
// 使用 POST 方法将指定的本地文件上载到指定的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 接收文件的资源的 URI。对于 HTTP 资源,此 URI 必须标识可以接受用 POST 方法发送的请求的资源,如脚本或 ASP 页。
//
// fileName:
// 要发送到资源的文件。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -fileName 为 null、为
// System.String.Empty、包含无效字符或者指定的文件路径不存在。- 或 -打开流时发生错误。- 或 -承载资源的服务器没有响应。- 或 -Content-type
// 标头以 multipart 开头。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public void UploadFileAsync(Uri address, string fileName);
//
// 摘要:
// 使用 POST 方法将指定的本地文件上载到指定的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 接收文件的资源的 URI。对于 HTTP 资源,此 URI 必须标识可以接受用 POST 方法发送的请求的资源,如脚本或 ASP 页。
//
// method:
// 用于将数据发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// fileName:
// 要发送到资源的文件。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -fileName 为 null、为
// System.String.Empty、包含无效字符或者指定的文件路径不存在。- 或 -打开流时发生错误。- 或 -承载资源的服务器没有响应。- 或 -Content-type
// 标头以 multipart 开头。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public void UploadFileAsync(Uri address, string method, string fileName);
//
// 摘要:
// 使用 POST 方法将指定的本地文件上载到指定的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 接收文件的资源的 URI。对于 HTTP 资源,此 URI 必须标识可以接受用 POST 方法发送的请求的资源,如脚本或 ASP 页。
//
// method:
// 用于将数据发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// fileName:
// 要发送到资源的文件。
//
// userToken:
// 一个用户定义对象,此对象将被传递给完成异步操作时所调用的方法。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -fileName 为 null、为
// System.String.Empty、包含无效字符或者指定的文件路径不存在。- 或 -打开流时发生错误。- 或 -承载资源的服务器没有响应。- 或 -Content-type
// 标头以 multipart 开头。
public void UploadFileAsync(Uri address, string method, string fileName, object userToken);
//
// 摘要:
// 使用指定的方法将指定的字符串上载到指定的资源。
//
// 参数:
// address:
// 接收文件的资源的 URI。此 URI 必须标识可以接受使用 method 方法发送的请求的资源。
//
// method:
// 用于将字符串发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// data:
// 要上载的字符串。
//
// 返回结果:
// 一个 System.String,包含服务器发送的响应。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -承载资源的服务器没有响应。-
// 或 -method 不能用来发送内容。
public string UploadString(Uri address, string method, string data);
//
// 摘要:
// 使用指定的方法将指定的字符串上载到指定的资源。
//
// 参数:
// address:
// 接收文件的资源的 URI。此 URI 必须标识可以接受使用 method 方法发送的请求的资源。
//
// method:
// 用于将字符串发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// data:
// 要上载的字符串。
//
// 返回结果:
// 一个 System.String,包含服务器发送的响应。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -承载资源的服务器没有响应。-
// 或 -method 不能用来发送内容。
public string UploadString(string address, string method, string data);
//
// 摘要:
// 使用 POST 方法将指定的字符串上载到指定的资源。
//
// 参数:
// address:
// 要接收字符串的资源的 URI。对于 HTTP 资源,此 URI 必须标识可以接受用 POST 方法发送的请求的资源,如脚本或 ASP 页。
//
// data:
// 要上载的字符串。
//
// 返回结果:
// 一个 System.String,包含服务器发送的响应。
//
// 异常:
// T:System.ArgumentNullException:
// data 为 null。
//
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -承载资源的服务器没有响应。
public string UploadString(string address, string data);
//
// 摘要:
// 使用 POST 方法将指定的字符串上载到指定的资源。
//
// 参数:
// address:
// 要接收字符串的资源的 URI。对于 HTTP 资源,此 URI 必须标识可以接受用 POST 方法发送的请求的资源,如脚本或 ASP 页。
//
// data:
// 要上载的字符串。
//
// 返回结果:
// 一个 System.String,包含服务器发送的响应。
//
// 异常:
// T:System.ArgumentNullException:
// data 为 null。
//
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -承载资源的服务器没有响应。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public string UploadString(Uri address, string data);
//
// 摘要:
// 将指定的字符串上载到指定的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 接收文件的资源的 URI。对于 HTTP 资源,此 URI 必须标识可以接受用 POST 方法发送的请求的资源,如脚本或 ASP 页。
//
// method:
// 用于将文件发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// data:
// 要上载的字符串。
//
// userToken:
// 一个用户定义对象,此对象将被传递给完成异步操作时所调用的方法。
//
// 异常:
// T:System.ArgumentNullException:
// data 为 null。
//
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -承载资源的服务器没有响应。
public void UploadStringAsync(Uri address, string method, string data, object userToken);
//
// 摘要:
// 将指定的字符串上载到指定的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 接收文件的资源的 URI。对于 HTTP 资源,此 URI 必须标识可以接受用 POST 方法发送的请求的资源,如脚本或 ASP 页。
//
// method:
// 用于将文件发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// data:
// 要上载的字符串。
//
// 异常:
// T:System.ArgumentNullException:
// data 为 null。
//
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -承载资源的服务器没有响应。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public void UploadStringAsync(Uri address, string method, string data);
//
// 摘要:
// 将指定的字符串上载到指定的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 接收文件的资源的 URI。对于 HTTP 资源,此 URI 必须标识可以接受用 POST 方法发送的请求的资源,如脚本或 ASP 页。
//
// data:
// 要上载的字符串。
//
// 异常:
// T:System.ArgumentNullException:
// data 为 null。
//
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -承载资源的服务器没有响应。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public void UploadStringAsync(Uri address, string data);
//
// 摘要:
// 使用指定的方法将指定的名称/值集合上载到指定的 URI 所标识的资源。
//
// 参数:
// address:
// 接收集合的资源的 URI。
//
// method:
// 用于将文件发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// data:
// 要发送到资源的 System.Collections.Specialized.NameValueCollection。
//
// 返回结果:
// 一个 System.Byte 数组,它包含来自资源的响应的正文。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -data 为 null。-
// 或 -打开流时发生错误。- 或 -承载资源的服务器没有响应。- 或 -Content-type 标头值既不是 null 也不是 application/x-www-form-urlencoded。
public byte[] UploadValues(string address, string method, NameValueCollection data);
//
// 摘要:
// 将指定的名称/值集合上载到指定的 URI 所标识的资源。
//
// 参数:
// address:
// 接收集合的资源的 URI。
//
// data:
// 要发送到资源的 System.Collections.Specialized.NameValueCollection。
//
// 返回结果:
// 一个 System.Byte 数组,它包含来自资源的响应的正文。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -data 为 null。-
// 或 -承载资源的服务器没有响应。- 或 -打开流时发生错误。- 或 -Content-type 标头不是 null 或“application/x-www-form-urlencoded”。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public byte[] UploadValues(Uri address, NameValueCollection data);
//
// 摘要:
// 使用指定的方法将指定的名称/值集合上载到指定的 URI 所标识的资源。
//
// 参数:
// address:
// 接收集合的资源的 URI。
//
// method:
// 用于将文件发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// data:
// 要发送到资源的 System.Collections.Specialized.NameValueCollection。
//
// 返回结果:
// 一个 System.Byte 数组,它包含来自资源的响应的正文。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -data 为 null。-
// 或 -打开流时发生错误。- 或 -承载资源的服务器没有响应。- 或 -Content-type 标头值既不是 null 也不是 application/x-www-form-urlencoded。
public byte[] UploadValues(Uri address, string method, NameValueCollection data);
//
// 摘要:
// 将指定的名称/值集合上载到指定的 URI 所标识的资源。
//
// 参数:
// address:
// 接收集合的资源的 URI。
//
// data:
// 要发送到资源的 System.Collections.Specialized.NameValueCollection。
//
// 返回结果:
// 一个 System.Byte 数组,它包含来自资源的响应的正文。
//
// 异常:
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -data 为 null。-
// 或 -承载资源的服务器没有响应。- 或 -打开流时发生错误。- 或 -Content-type 标头不是 null 或“application/x-www-form-urlencoded”。
public byte[] UploadValues(string address, NameValueCollection data);
//
// 摘要:
// 使用指定的方法将指定的名称/值集合中的数据上载到由指定的 URI 标识的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 接收集合的资源的 URI。此 URI 必须标识可以接受使用 method 方法发送的请求的资源。
//
// method:
// 用于将字符串发送到资源的方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// data:
// 要发送到资源的 System.Collections.Specialized.NameValueCollection。
//
// 异常:
// T:System.ArgumentNullException:
// data 为 null。- 或 -address 为 null。
//
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -承载资源的服务器没有响应。-
// 或 -method 不能用来发送内容。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public void UploadValuesAsync(Uri address, string method, NameValueCollection data);
//
// 摘要:
// 将指定的名称/值集合中的数据上载到由指定的 URI 标识的资源。此方法不会阻止调用线程。
//
// 参数:
// address:
// 接收集合的资源的 URI。此 URI 必须标识可以接受使用默认方法发送的请求的资源。请参见“备注”。
//
// data:
// 要发送到资源的 System.Collections.Specialized.NameValueCollection。
//
// 异常:
// T:System.ArgumentNullException:
// data 为 null。
//
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -承载资源的服务器没有响应。
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public void UploadValuesAsync(Uri address, NameValueCollection data);
//
// 摘要:
// 使用指定的方法将指定的名称/值集合中的数据上载到由指定的 URI 标识的资源。此方法不会阻止调用线程,并允许调用方将对象传递给操作完成时所调用的方法。
//
// 参数:
// address:
// 接收集合的资源的 URI。此 URI 必须标识可以接受使用 method 方法发送的请求的资源。
//
// method:
// 用于将字符串发送到资源的 HTTP 方法。如果为 null,则对于 http 默认值为 POST,对于 ftp 默认值为 STOR。
//
// data:
// 要发送到资源的 System.Collections.Specialized.NameValueCollection。
//
// userToken:
// 一个用户定义对象,此对象将被传递给完成异步操作时所调用的方法。
//
// 异常:
// T:System.ArgumentNullException:
// data 为 null。- 或 -address 为 null。
//
// T:System.Net.WebException:
// 通过组合 System.Net.WebClient.BaseAddress 和 address 所构成的 URI 无效。- 或 -承载资源的服务器没有响应。-
// 或 -method 不能用来发送内容。
public void UploadValuesAsync(Uri address, string method, NameValueCollection data, object userToken);
//
// 摘要:
// 为指定资源返回一个 System.Net.WebRequest 对象。
//
// 参数:
// address:
// 一个 System.Uri,用于标识要请求的资源。
//
// 返回结果:
// 一个新的 System.Net.WebRequest 对象,用于指定的资源。
protected virtual WebRequest GetWebRequest(Uri address);
//
// 摘要:
// 返回对指定 System.Net.WebRequest 的 System.Net.WebResponse。
//
// 参数:
// request:
// 用于获取响应的 System.Net.WebRequest。
//
// 返回结果:
// System.Net.WebResponse 包含对指定 System.Net.WebRequest 的响应。
protected virtual WebResponse GetWebResponse(WebRequest request);
//
// 摘要:
// 使用指定的 System.IAsyncResult 获取对指定 System.Net.WebRequest 的 System.Net.WebResponse。
//
// 参数:
// request:
// 用于获取响应的 System.Net.WebRequest。
//
// result:
// 一个 System.IAsyncResult 对象,来自以前对 System.Net.WebRequest.BeginGetResponse(System.AsyncCallback,System.Object)
// 的调用。
//
// 返回结果:
// System.Net.WebResponse 包含对指定 System.Net.WebRequest 的响应。
protected virtual WebResponse GetWebResponse(WebRequest request, IAsyncResult result);
//
// 摘要:
// 引发 System.Net.WebClient.DownloadDataCompleted 事件。
//
// 参数:
// e:
// 包含事件数据的 System.Net.DownloadDataCompletedEventArgs 对象。
protected virtual void OnDownloadDataCompleted(DownloadDataCompletedEventArgs e);
//
// 摘要:
// 引发 System.Net.WebClient.DownloadFileCompleted 事件。
//
// 参数:
// e:
// 包含事件数据的 System.ComponentModel.AsyncCompletedEventArgs 对象。
protected virtual void OnDownloadFileCompleted(AsyncCompletedEventArgs e);
//
// 摘要:
// 引发 System.Net.WebClient.DownloadProgressChanged 事件。
//
// 参数:
// e:
// 包含事件数据的 System.Net.DownloadProgressChangedEventArgs 对象。
protected virtual void OnDownloadProgressChanged(DownloadProgressChangedEventArgs e);
//
// 摘要:
// 引发 System.Net.WebClient.DownloadStringCompleted 事件。
//
// 参数:
// e:
// 包含事件数据的 System.Net.DownloadStringCompletedEventArgs 对象。
protected virtual void OnDownloadStringCompleted(DownloadStringCompletedEventArgs e);
//
// 摘要:
// 引发 System.Net.WebClient.OpenReadCompleted 事件。
//
// 参数:
// e:
// 包含事件数据的 System.Net.OpenReadCompletedEventArgs 对象。
protected virtual void OnOpenReadCompleted(OpenReadCompletedEventArgs e);
//
// 摘要:
// 引发 System.Net.WebClient.OpenWriteCompleted 事件。
//
// 参数:
// e:
// 包含事件数据的 System.Net.OpenWriteCompletedEventArgs 对象。
protected virtual void OnOpenWriteCompleted(OpenWriteCompletedEventArgs e);
//
// 摘要:
// 引发 System.Net.WebClient.UploadDataCompleted 事件。
//
// 参数:
// e:
// 包含事件数据的 System.Net.UploadDataCompletedEventArgs 对象。
protected virtual void OnUploadDataCompleted(UploadDataCompletedEventArgs e);
//
// 摘要:
// 引发 System.Net.WebClient.UploadFileCompleted 事件。
//
// 参数:
// e:
// 包含事件数据的 System.Net.UploadFileCompletedEventArgs 对象。
protected virtual void OnUploadFileCompleted(UploadFileCompletedEventArgs e);
//
// 摘要:
// 引发 System.Net.WebClient.UploadProgressChanged 事件。
//
// 参数:
// e:
// 包含事件数据的 System.Net.UploadProgressChangedEventArgs 对象。
protected virtual void OnUploadProgressChanged(UploadProgressChangedEventArgs e);
//
// 摘要:
// 引发 System.Net.WebClient.UploadStringCompleted 事件。
//
// 参数:
// e:
// 包含事件数据的 System.Net.UploadStringCompletedEventArgs 对象。
protected virtual void OnUploadStringCompleted(UploadStringCompletedEventArgs e);
//
// 摘要:
// 引发 System.Net.WebClient.UploadValuesCompleted 事件。
//
// 参数:
// e:
// 包含事件数据的 System.Net.UploadValuesCompletedEventArgs 对象。
protected virtual void OnUploadValuesCompleted(UploadValuesCompletedEventArgs e);
}
}