System.Net.FtpWebRequest.cs

ylbtech-System.Net.FtpWebRequest.cs

 实现文件传输协议(FTP)客户端。

1.返回顶部
1、
#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.IO;
using System.Net.Cache;
using System.Security.Cryptography.X509Certificates;

namespace System.Net
{
    //
    // 摘要:
    //     实现文件传输协议 (FTP) 客户端。
    public sealed class FtpWebRequest : WebRequest
    {
        //
        // 摘要:
        //     定义所有 FTP 请求的默认缓存策略。
        //
        // 返回结果:
        //     System.Net.Cache.RequestCachePolicy,定义 FTP 请求的缓存策略。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     调用方试图将此属性设置为 null。
        public static RequestCachePolicy DefaultCachePolicy { get; set; }
        //
        // 摘要:
        //     获取或设置写入或读取流时的超时。
        //
        // 返回结果:
        //     读取或写入超时之前的毫秒数。默认值为 300,000 毫秒(5 分钟)。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     已发送请求。
        //
        //   T:System.ArgumentOutOfRangeException:
        //     为 Set 操作指定的值小于或等于零,并且不等于 System.Threading.Timeout.Infinite。
        public int ReadWriteTimeout { get; set; }
        //
        // 摘要:
        //     总是引发 System.NotSupportedException。
        //
        // 返回结果:
        //     总是引发 System.NotSupportedException。
        //
        // 异常:
        //   T:System.NotSupportedException:
        //     FTP 不支持内容类型信息。
        public override string ContentType { get; set; }
        //
        // 摘要:
        //     获取空 System.Net.WebHeaderCollection 对象。
        //
        // 返回结果:
        //     一个空 System.Net.WebHeaderCollection 对象。
        public override WebHeaderCollection Headers { get; set; }
        //
        // 摘要:
        //     获取或设置 System.Boolean,它指定是否使用 SSL 连接。
        //
        // 返回结果:
        //     如果控制和数据传输是加密的,则为 true;否则为 false。默认值为 false。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     到 FTP 服务器的连接已经建立。
        public bool EnableSsl { get; set; }
        //
        // 摘要:
        //     获取用于建立到 FTP 服务器的加密连接的证书。
        //
        // 返回结果:
        //     包含客户端证书的 System.Security.Cryptography.X509Certificates.X509CertificateCollection
        //     对象。
        public X509CertificateCollection ClientCertificates { get; set; }
        //
        // 摘要:
        //     获取或设置客户端应用程序的数据传输过程的行为。
        //
        // 返回结果:
        //     如果客户端应用程序的数据传输过程侦听数据端口上的连接,则为 false;如果客户端应在数据端口上启动连接,则为 true。默认值为 true。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     对于一个已在进行的请求为此属性指定了一个新值。
        public bool UsePassive { get; set; }
        //
        // 摘要:
        //     获取或设置一个 System.Boolean 值,该值指定文件传输的数据类型。
        //
        // 返回结果:
        //     true,指示服务器要传输的是二进制数据;false,指示数据为文本。默认值为 true。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     对于一个已在进行的请求为此属性指定了一个新值。
        public bool UseBinary { get; set; }
        //
        // 摘要:
        //     获取或设置一个 System.Boolean 值,该值指定在请求完成之后是否关闭到 FTP 服务器的控制连接。
        //
        // 返回结果:
        //     如果不应销毁到服务器的连接,则为 true;否则为 false。默认值为 true。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     对于一个已在进行的请求为此属性指定了一个新值。
        public bool KeepAlive { get; set; }
        //
        // 摘要:
        //     获取用于连接 FTP 服务器的 System.Net.ServicePoint 对象。
        //
        // 返回结果:
        //     可用于自定义连接行为的 System.Net.ServicePoint 对象。
        public ServicePoint ServicePoint { get; }
        //
        // 摘要:
        //     获取或设置连接组的名称,该连接组包含用于发送当前请求的服务点。
        //
        // 返回结果:
        //     包含连接组名称的 System.String 值。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     对于一个已在进行的请求为此属性指定了一个新值。
        public override string ConnectionGroupName { get; set; }
        //
        // 摘要:
        //     获取或设置用于与 FTP 服务器通信的代理。
        //
        // 返回结果:
        //     负责与 FTP 服务器通信的 System.Net.IWebProxy 实例。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     此属性不能设置为 null。
        //
        //   T:System.InvalidOperationException:
        //     对于一个已在进行的请求为此属性指定了一个新值。
        public override IWebProxy Proxy { get; set; }
        //
        // 摘要:
        //     获取或设置被 System.Net.FtpWebRequest 类忽略的值。
        //
        // 返回结果:
        //     应忽略的 System.Int64 值。
        public override long ContentLength { get; set; }
        //
        // 摘要:
        //     获取或设置请求所下载的文件的字节偏移量。
        //
        // 返回结果:
        //     指定文件偏移量(以字节为单位)的 System.Int64 实例。默认值为零。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     对于一个已在进行的请求为此属性指定了一个新值。
        //
        //   T:System.ArgumentOutOfRangeException:
        //     为该属性指定的值小于 0。
        public long ContentOffset { get; set; }
        //
        // 摘要:
        //     总是引发 System.NotSupportedException。
        //
        // 返回结果:
        //     总是引发 System.NotSupportedException。
        //
        // 异常:
        //   T:System.NotSupportedException:
        //     FTP 不支持预身份验证。
        public override bool PreAuthenticate { get; set; }
        //
        // 摘要:
        //     获取或设置等待请求的毫秒数。
        //
        // 返回结果:
        //     一个 System.Int32 值,包含请求超时前等待的毫秒数。默认值为 System.Threading.Timeout.Infinite。
        //
        // 异常:
        //   T:System.ArgumentOutOfRangeException:
        //     指定的值小于零,并且不为 System.Threading.Timeout.Infinite。
        //
        //   T:System.InvalidOperationException:
        //     对于一个已在进行的请求为此属性指定了一个新值。
        public override int Timeout { get; set; }
        //
        // 摘要:
        //     获取此实例所请求的 URI。
        //
        // 返回结果:
        //     System.Uri 实例,标识使用文件传输协议访问的资源。
        public override Uri RequestUri { get; }
        //
        // 摘要:
        //     获取或设置用于与 FTP 服务器通信的凭据。
        //
        // 返回结果:
        //     System.Net.ICredentials 实例;如果还未设置该属性,则为 null。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     为 Set 操作指定的值为 null。
        //
        //   T:System.ArgumentException:
        //     为 Set 操作指定了 System.Net.NetworkCredential 以外的 System.Net.ICredentials 类型。
        //
        //   T:System.InvalidOperationException:
        //     对于一个已在进行的请求为此属性指定了一个新值。
        public override ICredentials Credentials { get; set; }
        //
        // 摘要:
        //     获取或设置重命名文件的新名称。
        //
        // 返回结果:
        //     重命名文件的新名称。
        public string RenameTo { get; set; }
        //
        // 摘要:
        //     获取或设置要发送到 FTP 服务器的命令。
        //
        // 返回结果:
        //     System.String 值,包含要发送到服务器的 FTP 命令。默认值为 System.Net.WebRequestMethods.Ftp.DownloadFile。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     对于一个已在进行的请求为此属性指定了一个新值。
        //
        //   T:System.ArgumentException:
        //     此方法无效。- 或 -不支持此方法。- 或 -指定了多个方法。
        public override string Method { get; set; }
        //
        // 摘要:
        //     总是引发 System.NotSupportedException。
        //
        // 返回结果:
        //     总是引发 System.NotSupportedException。
        //
        // 异常:
        //   T:System.NotSupportedException:
        //     FTP 不支持默认凭据。
        public override bool UseDefaultCredentials { get; set; }

        //
        // 摘要:
        //     终止异步 FTP 操作。
        public override void Abort();
        //
        // 摘要:
        //     开始以异步方式打开请求的内容流以便写入。
        //
        // 参数:
        //   callback:
        //     一个 System.AsyncCallback 委托,它引用操作完成时要调用的方法。
        //
        //   state:
        //     一个用户定义对象,其中包含该操作的相关信息。操作完成时,此对象传递给了 callback 委托。
        //
        // 返回结果:
        //     System.IAsyncResult 实例,指示操作的状态。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     此前对此方法或 System.Net.FtpWebRequest.GetRequestStream 的调用尚未完成。
        //
        //   T:System.Net.WebException:
        //     未能建立到 FTP 服务器的连接。
        //
        //   T:System.Net.ProtocolViolationException:
        //     System.Net.FtpWebRequest.Method 属性没有设置为 System.Net.WebRequestMethods.Ftp.UploadFile。
        public override IAsyncResult BeginGetRequestStream( AsyncCallback callback, object state );
        //
        // 摘要:
        //     开始以异步方式向 FTP 服务器发送请求并从 FTP 服务器接收响应。
        //
        // 参数:
        //   callback:
        //     一个 System.AsyncCallback 委托,它引用操作完成时要调用的方法。
        //
        //   state:
        //     一个用户定义对象,其中包含该操作的相关信息。操作完成时,此对象传递给了 callback 委托。
        //
        // 返回结果:
        //     System.IAsyncResult 实例,指示操作的状态。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     已经为此实例调用了 System.Net.FtpWebRequest.GetResponse 或 System.Net.FtpWebRequest.BeginGetResponse(System.AsyncCallback,System.Object)。
        public override IAsyncResult BeginGetResponse( AsyncCallback callback, object state );
        //
        // 摘要:
        //     结束由 System.Net.FtpWebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)
        //     启动的挂起的异步操作。
        //
        // 参数:
        //   asyncResult:
        //     在操作开始时返回的 System.IAsyncResult 对象。
        //
        // 返回结果:
        //     与此实例关联的可写 System.IO.Stream 实例。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     asyncResult 为 null。
        //
        //   T:System.ArgumentException:
        //     未能通过调用 System.Net.FtpWebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)
        //     获取 asyncResult。
        //
        //   T:System.InvalidOperationException:
        //     已经为 asyncResult 所标识的操作调用了此方法。
        public override Stream EndGetRequestStream( IAsyncResult asyncResult );
        //
        // 摘要:
        //     结束由 System.Net.FtpWebRequest.BeginGetResponse(System.AsyncCallback,System.Object)
        //     启动的挂起的异步操作。
        //
        // 参数:
        //   asyncResult:
        //     在操作开始时返回的 System.IAsyncResult。
        //
        // 返回结果:
        //     包含一个 System.Net.FtpWebResponse 实例的 System.Net.WebResponse 引用。此对象包含 FTP 服务器对请求的响应。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     asyncResult 为 null。
        //
        //   T:System.ArgumentException:
        //     未能通过调用 System.Net.FtpWebRequest.BeginGetResponse(System.AsyncCallback,System.Object)
        //     获取 asyncResult。
        //
        //   T:System.InvalidOperationException:
        //     已经为 asyncResult 所标识的操作调用了此方法。
        public override WebResponse EndGetResponse( IAsyncResult asyncResult );
        //
        // 摘要:
        //     检索用于向 FTP 服务器上载数据的流。
        //
        // 返回结果:
        //     可写 System.IO.Stream 实例,用于存储要由当前请求发送到服务器的数据。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     System.Net.FtpWebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)
        //     已被调用并且尚未完成。- 或 -HTTP 代理被启用,而您尝试使用 FTP 命令而非 System.Net.WebRequestMethods.Ftp.DownloadFile、System.Net.WebRequestMethods.Ftp.ListDirectory
        //     或 System.Net.WebRequestMethods.Ftp.ListDirectoryDetails。
        //
        //   T:System.Net.WebException:
        //     未能建立到 FTP 服务器的连接。
        //
        //   T:System.Net.ProtocolViolationException:
        //     System.Net.FtpWebRequest.Method 属性未设置为 System.Net.WebRequestMethods.Ftp.UploadFile
        //     或 System.Net.WebRequestMethods.Ftp.AppendFile。
        public override Stream GetRequestStream();
        //
        // 摘要:
        //     返回 FTP 服务器响应。
        //
        // 返回结果:
        //     包含一个 System.Net.FtpWebResponse 实例的 System.Net.WebResponse 引用。此对象包含 FTP 服务器对请求的响应。
        //
        // 异常:
        //   T:System.InvalidOperationException:
        //     已经为此实例调用了 System.Net.FtpWebRequest.GetResponse 或 System.Net.FtpWebRequest.BeginGetResponse(System.AsyncCallback,System.Object)。-
        //     或 -HTTP 代理被启用,而您尝试使用 FTP 命令而非 System.Net.WebRequestMethods.Ftp.DownloadFile、System.Net.WebRequestMethods.Ftp.ListDirectory
        //     或 System.Net.WebRequestMethods.Ftp.ListDirectoryDetails。
        //
        //   T:System.Net.WebException:
        //     System.Net.FtpWebRequest.EnableSsl 设置为 true,但服务器不支持此功能。
        public override WebResponse GetResponse();
    }
}
2、
2.返回顶部
 
3.返回顶部
 
4.返回顶部
 
5.返回顶部
 
 
6.返回顶部
 
warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

猜你喜欢

转载自www.cnblogs.com/storebook/p/11927304.html