免费的FTP库

你能推荐一个免费的FTP库(类)为C#。

class级必须写得很好,而且要有良好的performance。

您可能会考虑FluentFTP ,以前称为System.Net.FtpClient 。

它是根据MIT许可证发布的 ,可用于NuGet(FluentFTP)。

为什么不使用.NET框架附带的库: http : //msdn.microsoft.com/en-us/library/ms229718.aspx

他们是由微软devise,应该相当有效地工作。

edtFTPnet是一个用C#编写的.NET免费,快速,开源的FTP库。

我喜欢由Microsoft MVP的名字Alex Pilotti编写的Alex FTPS Client 。 这是一个C#库,可以在控制台应用程序,Windows窗体,PowerShell,ASP.NET中使用(使用任何.NET语言)。 如果你有一个multithreading的应用程序,你将不得不configuration库同步运行,但总的来说,一个好的客户端,最有可能得到你所需要的。

我刚刚发表了一篇介绍FTP客户端类和FTP用户控件的文章。

它们很简单,不是很快,但是很容易使用,所有源代码都包含在内。 只需将用户控件拖放到表单上,以允许用户从应用程序中导航FTP目录。

在同样的问题进行了大量的调查后,我发现这是非常方便的: https : //github.com/flagbug/FlagFtp

例如(尝试用标准的.net“库”来做这件事 – 这将是一个真正的痛苦) – >recursion地取回FTP服务器上的所有文件:

  public IEnumerable<FtpFileInfo> GetFiles(string server, string user, string password) { var credentials = new NetworkCredential(user, password); var baseUri = new Uri("ftp://" + server + "/"); var files = new List<FtpFileInfo>(); AddFilesFromSubdirectory(files, baseUri, credentials); return files; } private void AddFilesFromSubdirectory(List<FtpFileInfo> files, Uri uri, NetworkCredential credentials) { var client = new FtpClient(credentials); var lookedUpFiles = client.GetFiles(uri); files.AddRange(lookedUpFiles); foreach (var subDirectory in client.GetDirectories(uri)) { AddFilesFromSubdirectory(files, subDirectory.Uri, credentials); } }