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.返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

System.Net.FtpWebRequest.cs的更多相关文章

  1. csharp: FTP Client Library using System.Net.FtpWebRequest

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  2. vmstat命令中System下in cs 何时为高?

    https://superuser.com/ https://serverfault.com/ 良好状态指标 CPU利用率:User Time <= 70%,System Time <= ...

  3. System.Net.WebRequest.cs

    ylbtech-System.Net.WebRequest.cs 发出对统一资源标识符(URI)的请求.这是一个 abstract 类. 1.返回顶部 1. #region 程序集 System, V ...

  4. System.Runtime.Serialization.cs

    ylbtech-System.Runtime.Serialization.cs 允许对象控制其自己的序列化和反序列化过程. 1.返回顶部 1. #region 程序集 mscorlib, Versio ...

  5. System.Net.WebRequestMethods.cs

    ylbtech-System.Net.WebRequestMethods.cs 1.返回顶部 1. #region 程序集 System, Version=4.0.0.0, Culture=neutr ...

  6. .NETFramework:System.Net.WebClient.cs

    ylbtech-.NETFramework:System.Net.WebClient.cs 提供用于将数据发送到和接收来自通过 URI 确认的资源数据的常用方法 1.返回顶部 1. #region 程 ...

  7. System.Web.HttpSessionStateBase.cs

    ylbtech-System.Web.HttpSessionStateBase.cs 1.程序集 System.Web, Version=4.0.0.0, Culture=neutral, Publi ...

  8. System.Web.HttpCookie.cs

    ylbtech-System.Web.HttpCookie.cs 1.程序集 System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken= ...

  9. System.Clollections.IEnumerable.cs

    ylbtech-System.Clollections.IEnumerable.cs 1.程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicK ...

随机推荐

  1. 矩阵迹 tr(AB)=tr(BA)的证明

    其实更为直观的理解是:AB与BA具有相同的对角线元素,因此tr(AB)=tr(BA)必然成立 ref:https://blog.csdn.net/silence1214/article/details ...

  2. WSGI原理

    web_server: import socket import time import multiprocessing import re import mini_frame class WSGIS ...

  3. 拉格朗日插值matlab实现

    已给sin0.32=0.314567,sin0.34=0.333487,sin0.36=0.352274,用线性插值及抛物插值计算sin0.3367的值并估计截断误差. 1. 线性插值 clc;cle ...

  4. Linux - python pip3 无法使用情况

    Linux 下使用 pip3 出了这样一个错误 error while loading shared libraries: libpython3.7m.so.1.0: cannot open shar ...

  5. java集合Map

    参考文章:https://blog.csdn.net/yjn1995/article/details/89784891 1.map接口 1.map接口实现类,HashMap.LinkListMap.H ...

  6. 使用unsafe.Pointer将结构体转为[]byte

    package main import ( "fmt" "unsafe" ) type TestStructTobytes struct { data int6 ...

  7. MySQL 是怎么保证数据一致性的(转载)

    在<写数据库同时发mq消息事务一致性的一种解决方案>一文的方案中把分布式事务巧妙转成了数据库事务.我们都知道关系型数据库事务能保证数据一致性,那数据库到底是怎么设计事务这一特性的呢? 一. ...

  8. luogu P1058 立体图

    做了这个题后明确了自己的定位... 恩...普及- 题目大意估计都知道.. 给个传送门:   luogu 做了半上午 + 一整个下午的题... 占了我今天到的绝大多数时间. 其实此题不难, 核心代码我 ...

  9. HDU 6208 The Dominator of Strings ——(青岛网络赛,AC自动机)

    最长的才可能成为答案,那么除了最长的以外全部insert到自动机里,再拿最长的去match,如果match完以后cnt全被清空了,那么这个最长串就是答案.事实上方便起见这个最长串一起丢进去也无妨,而且 ...

  10. SpaceClaim脚本功能(Beta功能)

    本操作仅适用ANSYS SpaceClaim 2016 打开SpaceClaim脚本编辑器的方法有两种 方法一(看截图操作):         方法二(请见后面的实例操作). 创建球体源代码: #定义 ...