System.Net.FtpClient

Rating:        Based on 8 ratings
Reviewed:  4 reviews
Downloads: 10224
Change Set: 630f66e9436a
Released: Jun 17, 2014
Updated: Jun 17, 2014 by jptrosclair
Dev status: Stable Help Icon

Recommended Download

Application System.Net.FtpClient 14.06.17
application, 3410K, uploaded Jun 17 - 1748 downloads

Other Available Downloads

Application System.Net.FtpClient 13.10.04
application, 2945K, uploaded Oct 4, 2013 - 2660 downloads
Application System.Net.FtpClient 13.11.12
application, 2951K, uploaded Nov 12, 2013 - 1460 downloads
Application System.Net.FtpClient 14.01.07
application, 2976K, uploaded Jan 7 - 2273 downloads
Application System.Net.FtpClient 14.03.28
application, 3051K, uploaded Mar 28 - 1732 downloads
Application System.Net.FtpClient. 14.06.04
application, 3411K, uploaded Jun 4 - 351 downloads

Release Notes

System.Net.FtpClient is now available via nuget.

Be sure to read the Documentation page for important information about using this library. It's a quick read and will be worth its weight in gold with regards to effectively using this project in your own!

For developers already using this project, check the commit comments for an update on what's changed and fixed.

07/22/2013

Added exception handling in key places to improve reliability by avoiding uncatchable exceptions while cleaning up from a previous exception.

08/05/2013

Added new IsDisposed property. Connect() method checks and throws ObjectDisposedException if true.

Added locking to FtpClient.Dispose() to allow a transaction to finish before cleanup.

10/04/2013

Merged Daniel Arnold's fix in FtpSocketStream.

Added new UngracefullDisconnect property that allows you to close the control connection without sending QUIT to the server. Use this if the control connection socket is closed/reset by the server pre-maturely when calling Disconnect().

Added new ErrorMessage property to FtpReply that concatenates informational messages along with the final response message together in an effort to provide more meaningful error messages in cases such as this IIS reply which previously would trigger an FtpCommandException with the Message "End"; not helpful.

550-Access is denied.
Win32 Error: Access is denied.
Error details: File system denied the access.
550 End

The above error would now be formatted as so:

Access is denied; Win32 Error: Access is denied.; Error details: File system denied the access.; End

Which is immensly more helpful than just "End".
Fixed issues where FtpListItem parsers collection was not initialized until first directory listing. This prevented people from adding their own parsers ahead of time.

11/12/2013

Addressed issue with sequencing or PBSZ/PROT commands for data channels, they are now executed after the user has been authenticated instead of before.

01/07/2013

Readjusted path cleanup code to remove wild card/glob patterns from the path name when passed to GetListing()

Improved globbing/wildcard cleanup. If the last segment of the path in a file listing contains a glob/wildcard pattern that segment is excluded from the full path in the FtpListItem objects returned. Globs anywhere else in the path are ignored, as there is no straight forward way to expand the full path correctly.

Added comments to async examples to point out potential problem with using statement in typical use cases for the Begin* methods. Added disposed check internally when calling End* methods to see if the connection object has been disposed yet. If it has and you call an End* method, an ObjectDisposed() exception is thrown. This scenario signifies a programming error.

Merged Yuriy Gromchenko changes to address null reference exception in GetListing() method.

03/28/2014

Serveral bug fixes and reliability improvements. See the commit notes for more information.

06/04/2014

Several bug fixes and a few enhancements to logging. See commit notes for more details.

06/17/2014

Fixed UTF8 problem with cloned connections that affected some servers that don't enable UTF8 by default when supported.

Reviews for this release

     
Good product, easy to use and quick. Saved me a load of time. Thanks.
by david_jacques_001 on Sep 4, 2013 at 7:33 AM
     
Great library and well documented! Making a connection to an FTP server is usually a bit slower than using other ftp clients, but is very easy to use and supports nearly all commands you will need when working with FTPs Recommended
by Kutufluix on May 9, 2013 at 2:58 PM
     
Does what it says on the tin. Developers quick to respond and active on issues. Recommended.
by undefinedfunction on May 1, 2013 at 8:53 PM
     
I needed a passive mode ftp client, found this and was up and running in 30 minutes!
by mc349 on Dec 15, 2013 at 8:09 AM