FTP without hassles. Xceed FTP Library for .NET is a robust and efficient 99% managed class library that allows you to easily add FTP file transfer capabilities to your .NET and ASP.NET applications. It provides access to the complete functionality of the FTP protocol through a straightforward, intuitive object model.
The Xceed FTP Library for .NET is designed to work well with all types of FTP servers. It provides built in support for Unix, VMS, AS/400 and DOS server types. Thanks to features such as the ability to create custom listing parsers and support for various FTP tweak properties, the library can also work with almost every other lesser-known FTP server type.
Feature:
.NET technology
99% managed code written in C#, source code included in Blueprint Edition
Object-oriented design created specifically for the .NET framework
VB.NET and C# sample applications included
All error handling works through .NET exception classes
Objects don't need to be explicitly disposed of
CLS compliant (Common Language Specification)
Does not use unsafe blocks for minimal permission requirements
Documentation fully integrated into Visual Studio.NET
Built using System.Net.Sockets namespace
FTP protocol features
RFC 959, 1123 and 1579 compliant
Supports secure FTP via SSL 3.0 and 3.1 (TLS)
Solid, built-in support for various server types including Unix, VMS, AS/400 and DOS.
Supports all major FTP operations and allows sending of custom commands
Supports FTP passive mode for firewall and proxy server resilience
Major features
Send and receive files, folders or entire directory structures quickly and easily
Send and receive files to or from disk or memory streams
Synchronise a local directory structure with a remote directory structure on an FTP server and vice-versa
Support for non-blocking (asynchronous) FTP operations.
Operations can be aborted at any time
Provides a rich set of events to keep your application notified of all FTP activity
Allows you to verify at any time the exact state of the component, including whether it is connected or not, busy or not, sending, receiving, deleting, etc.
Obtain a detailed listing of files on the FTP server via a collection object or by events
Rename and delete files on the FTP server
Resume file transfers from any byte offset
Component interactivity / Events
Provides status report events on a file-by-file basis as well as on the entire operation being performed
Status reports include various completion percentages, byte counts, file counts, bytes per second, bytes skipped, number of files skipped and more. Displaying a progress bar could not be easier
Events are triggered for all major operations such as whenever a file is being sent, received, listed, etc.
When sending multiple files and an error occurs, allows you to retry the file, skip it and continue, or abort the entire operation
Provides complete file information for the current file being processed.
Other features
Create filters so you can send or receive only files that fit specific criteria such as file size or date
Allows you to rename or change filenames and paths before sending
Automatic logging to memory or to disk
Use the automatic directory listing parser or create your own custom parser for unknown listing formats and FTP server types. You can do this in two ways - through inheritance or by handling an event.
Set a timeout limit on all operations and have an exception triggered if it is exceeded
Send a file to an FTP server and have the server give it a unique filename
Can send files as ASCII or Binary
Triggers an event if the connection to the FTP server is lost
Allows you to change the user that is currently logged in without disconnecting
Built-in tweaks for working with non-standard FTP server types including settable FTP server folder separator character, storage pre-allocation and TYPE command sending.