Please note: I am in no way, shape or form affiliated with Aberaware. I am simply a satisfied user of one of their components.
One of my tasks in my latest project is to retrieve several files from an FTP site. At some point, I will also have to upload files to FTP sites as well. I initially thought that I would find some free FTP component, and I did just that. Of course, after using the free component for a few weeks, I realized that I needed something better. My requirements were pretty simple:
1. Raise an event for progress (other events would be nice)
2. Support SSL out of the box
3. Easy to use
4. Good documentation
After looking at several packages (Mabry, Abderaware and ip*Works), I settled on Aberaware FTP for .NET. It met all my requirements and had a decent price. Zane Thomas has also been pretty active in the newsgroups, and while I'm no fan of his politics (he appears to lean pretty far to the left), his components seem well thought-out and solid.
Oh yea...the fact that I'm not paying for the component (the client is picking it up) made the choice that much easier.