PowerTCP FTP for .NET

from $299.00
Available Platforms

Next Generation FTP and FTPS .NET Component

PowerTCP FTP for .NET is designed to be the most advanced FTP and FTPS class library available while retaining an easy to use interface. Its design promotes a Model-View-Controller (MVC) application design, so users may localize your protocol functions and settings in a reusable model class. Requires fewer resources, provides more flexibility, and elicits code that is easier to re-use and maintain.

  • Utilizes .NET features including generics, IPv6, dual-stack sockets and X509 certificates
  • SSL and TLS fully integrated
  • Supports concurrent sessions on multiple worker threads
  • Includes code examples and sample projects
  • Lightweight Dll has small footprint that streamlines your app 

 

Looking for an SFTP (SSH FTP) Product?

See PowerTCP SSH and SFTP for .NET >

 

More Than Just Your Standard FTP

  • Stream interface support the creation or inspection of data in memory without file access
  • Serializable classes persist application settings between sessions
  • Blocking and non-blocking (asynchronous) operation
  • Progress event reports transfer rate and statistics
  • MGET and MPUT copies multiple files using wildcards
  • Synchronize files and directories
More...

 

Includes features not found in the .NET Framework

  • Comprehensive explicit and implicit encryption
  • Recursive wild-card directory copies and deletions
  • MODE Z "On-the-fly" ZLIB compression support
  • Log event for session logging and debugging
  • Extensive firewall and proxy support
More...

Security and Proxy Support

  • SSL2, SSL3, TLS version 1.0, 1.1, 1.2 support for stream-level security
  • Client-side and server-side authentication options
  • Network Address Translation (NAT) router support for secure transfers
  • Explicit and implicit FTPS support
  • Firewall and proxy support, including SOCKS, HTTP CONNECT and more
More...

Samples and Documentation

  • Integrates with Visual Studio
  • Sample projects for C# and VB.NET (Windows Forms, Web Forms, WPF, Web Service, WCF Service and PowerShell)

 

Looking for an FTP Client Application?

PowerTCP FTP Free is a free, full-featured FTP client application built using PowerTCP FTP for .NET. This easy-to use client application is perfect for every day FTP tasks, and has no feature or time limitations.
Get FTP Free Now! >

 

Included With FTP for .NET

  • Ftp Component plus many supporting classes
  • Sample projects written in C#, VB.NET, VC++/CLI
  • Comprehensive MS Help 2.0 and MS Help Viewer integrated documentation
  • Free Introductory Support.

See the complete FTP for .NET Online Documentation >

 

The PowerTCP for .NET Ftp component is a powerful and flexible component-based implementation of the File Transfer Protocol (FTP) with security extensions. High-level properties and methods provide quick code creation and ease-of use, while access to lower-level properties and methods provide power and control.

See a list of features >

Looking for an SFTP (SSH FTP) Component?

 

Supported Environments

PowerTCP FTP for .NET supports .NET Framework version 2.0 through 4.7 and .NET Core 2.0.

PowerTCP for. NET components can be used with any .NET compliant language including:

  • C#
  • VB.NET
  • Managed C++

 

PowerTCP for .NET components have been tested in the following application environments:

  • Standard Windows desktop applications
  • Console applications
  • ASP.NET web applications and Web Sites
  • Windows service applications
  • Web service applications
  • Windows Communication Foundation (WCF) service applications
  • Windows Presentation Foundation (WPF) applications

 

PowerTCP for .NET components have been tested in the following development environments:

  • Visual Studio .NET (2005, 2008, 2010, 2012, 2013, 2015, 2017)


NET Standard 2.0 supported platforms: https://docs.microsoft.com/en-us/dotnet/standard/net-standard

 

 

PowerTCP for .NET components do not currently support execution within Silverlight. If you are interested in using Dart products within your Silverlight solution, contact support@dart.com for more options.

 

New Sample Projects have been added to include .NET Core 2.0 projects, referencing the Dart.Ftp.Standard dll. Look for the  to identify these samples.

 

Code Examples

The FTP component frees you from having to write 'spaghetti code' that jumps from function to function using asynchronous 'Begin' and 'End' methods, just so you can perform your work and update the UI at the same time.

Asynchronous methods are not necessary. You do your work in one function and use the 'Start' method to execute it on a worker thread without freezing the interface. Component events are raised on the UI thread, eliminating the need to write delegates and call 'Invoke' from the worker thread.

To the right is a side-by-side comparison between code using PowerTCP FTP for .NET and code using a competitor's product. The task is to log into an FTP server, upload a directory, and log out, while updating status in a log window and progress bar. Take a look at the code and ask yourself, "Which code would I rather write and maintain?"

 

 These code snippets can be copied and pasted into your project. 

Code Snippet Description
File Listing How to retrieve a file listing.
File Listing (Wildcards) How to use GetDirectoryTree() with a wildcard to list files and download them.
Download a File How to download a file.
Upload a File How to upload a file.
Download Multiple Files How to download a directory tree using a single method. (MGET)
Upload Multiple Files How to upload a directory tree using a single method. (MPUT)
Append to a Remote File How to append to a remote file.
Resume a Download How to continue a file download that was previously interrupted.
Resume an Upload How to continue a file upload that was previously interrupted.
Download with Streams How to download a remote file without storing it as a local file using streams.
Upload with Streams How to upload dynamically generated data to a server using streams.
Using a Proxy Server How to access an FTP server through a 'user' proxy server.
SSL/TLS Configuration How to specify a minimal SSL/TLS security level.
Throttle Transfer Speed How to throttle the speed of a file transfer.
Synchronize File DateTime How to synchronize the datetime of transferred files.
Custom Commands How to send custom FTP commands.
Using Windows Forms How to create a thread, execute commands on that thread, and marshal data for display in Windows Forms applications.

 

Sample Projects

Samples are working applications demonstrating FTP for .NET components in C#, VB.NET and PowerShell. Source code included. 

Sample Name Description
ListView Client A medium size Windows Forms application demonstrating storing and retrieving files, displaying file transfer progress, aborting transfers, and retrieving and displaying listings.
Streaming Transfer Demonstrates how to retrieve and store a file data directly from/to memory using a Stream.
Parallel Transfers Demonstrates how to to transfer several files simultaneously, using multiple concurrent FTP sessions.
FTP Web Service Demonstrates a web service that utilizes the Ftp component.
FTP WCF Service Demonstrates a Windows Communication Foundation (WCF) service that utilizes the Ftp component.
Task-Async ListView Client Implements the functionality of the ListView Client using the 4.5 .NET Framework System.Threading.Tasks.Task.Run() method. This obsoletes the Start and Marshal methods along with the UserState, Listing, Copy, and Error events, while allowing for a simple multithreaded design.
WPF Listview Client Similar to the ListView Client, but written using Windows Presentation Foundation (which uses DirectX)
Console Ftp   Demonstrates retrieving a file in a simple single-thread console application.
PowerShell Get and Put Demonstrates how to upload and download files from a scripting application.
Web Service Dynamically gets a file from an FTP server on behalf of a consumer.
Upload with Streams How to upload dynamically generated data to a server using streams.
WCF Service Dynamically gets a file from an FTP server on behalf of a consumer.
ListView Client Web Application Demonstrates a web-based FTP client.

 

 

Product Release History

The following is a list of public releases for all components shipped with PowerTCP FTP for .NET (Latest Release 2018-09-21)

 

PowerTCP FTP for .NET

     Current Version: 4.7.6.0

 

4.7.6.0 Released: 2018-09-21


 

  • The UsePWD property was added. When set to false no PWD commands will be sent to the server and all directory and path information returned from commands will be relative instead of absolute.

 

 

4.7.5.0 Released: 2018-08-30


 

  • Licensing Error Exception text has been updated.

 

 

4.7.4.3 Released: 2018-03-06


 

  • Added support for .NET Standard 2.0 and .NET Core 2.0
  • New .NET Core 2.0 sample projects, referencing the Dart.Ftp.Standard dll
  • Updated trial license operation for use on .NET Standard-compatible platforms
    - Details regarding trial operation for Dart.Ftp.Standard.dll can be found in the Licensing and Trial Operation topic in the included help documentation

 

 

4.7.3.0 Released: 2017-03-08


 

  • Visual Studio 2017 compatibility.

 

 

4.7.2.0 Released: 2016-12-07


 

Product fixes in this release:

  • An issue where listings would fail when the PWD command is unsupported on the server has been resolved. (918)
  • An issue where closing a secure FTP connection on Windows 10 could result in a hard crash has been resolved. (973)

 

 

4.7.1.0 Released: 2016-04-26


 

Product fixes in this release:

  • Refactored AUTH command operation when FtpSecurity.Encryptcontrol is set to Encryptcontrol.Explicit. Advertised FTP server features are now used to choose the appropriate AUTH command parameter. If no features are available prior to login then the component will default to AUTH TLS. Added additional enumerations to EncryptControl to provide fine control over which AUTH command parameter is to be used if automatic detection is not desired. (868)

 

 

4.7.0.0 Released: 2016-03-01


 

  • The Ftp.Type property was added so that the current data channel transfer type can be determined.
  • The Ftp.DateTimeFormatInfo property was added to support servers that use non-standard timestamps. A Listing constructor overload that accepts DateTimeFormatInfo as a parameter was also added. Please see the documentation of Ftp.DateTimeFormatInfo for more information.
  • Developer note: The Ftp.DateTimeFormatInfo property replaces the Listing.Months property which has been removed. 
  • Various improvements to illegal file character handling.
  • The FtpSession.Autosize property has been added so that the sending of the SIZE command prior to a file transfer can be toggled.
  • 6TO4 support added.
  • A DataIsBusyChanged event was added to signify when a data channel has started or ceased transferring.
  • If MFMT is not advertised as an available mechanism to modify date time then MDTM will be tried.
  • Product fixes in this release:
  • The FTP control channel is now correctly monitored for error responses from the server during transfers. (721)
  • IPv6 addresses are now properly enclosed in brackets when used as a URI or URL. Ex: Destination URL via a proxy connection. (738, 745)
  • Ftp.Session.LocalEndpoint is now set to the correct address family if the proxy address family differs from the endpoint address family. (739, 746)
  • When using Ftp.Put(List localFileSystemInfos, string localRoot, string remoteRoot, Synchronize Sync, file destination now correctly defaults to "filename" in the current directory when remoteRoot is "". (761)
  • Ftp.Get will no longer cause a file to stay locked if an exception is thrown during a transfer. (770)
  • All SSL connections will now use close-notify during the closing of the connection. (773)

 

 

4.6.1.0 Released: 2014-12-19


 

Improved handling of files and directory names when they contain illegal characters on the local file system.
Improved firewall transversal for data connections. (See DataConnectType.PassiveOverrideAddress in the documentation for details)
Improved support for CAS level 2 applications in medium trust environments.
Improved handling of connection failures.
A ConnectTimeout property was added to the FtpSession class.

 

Product fixes in this release:

  • Resolved an issue where LIST commands may fail to timeout correctly. (TFS362)
  • A compatibility issue with FileZilla FTP Server where downloads would not resume correctly was resolved. (TFS577)
  • Resolved an issue where a "System.ArgumentException: An item with the same key has already been added" could be thrown when instantiating FTP objects on multiple threads. (TFS585)

 

 

4.6.0.1 Released: 2013-11-12


 

  • Trial operation has changed. In addition to the existing 7-day runtime trial license, a 30-day development trial license will also be enforced.

 

Product fixes in this release:

  • Removed use of the temporary file directory when retrieving a file from an FTP server. (TFS195)
  • Ensured that the socket timeout is always being set correctly on the data channel for transfers when using PORT. (TFS270)

 

 

4.5.5.2 Released: 2013-01-07


 

A Response property has been added to the CopyResult object to provide the server response for individual file transfer requests.

 

Product fixes in this release:

  • The count of the items in the List property of the ProgressEventArgs now reports 1 instead of 0 when transfering a single file. (TFS54)
  • The transfer type will now correctly reset when the GetSize method is called and the SIZE request fails. (TFS62)
  • The FtpProtocolException type has been made public. (TFS63)

 

 

4.5.4.3 Released: 2012-10-24


 

Trial licensing operation updated.

 

 

4.5.3.3 Released: 2012-10-18


 

  • Updated for Visual Studio 2012 integration and Windows 8 compatibility.

 

Product fixes in this release:

  • Addressed a globalization issue that prevented correct operation for systems using the following language cultures: Azeri (az), Azeri-Latin (az-Latn), Azeri-Latin-Azerbaijan (az-Latn-AZ), Turkish (tr), Turkish-Turkey (tr-TR) (TFS31)

 

 

4.5.2.1 Released: 2012-07-12


 

Product fixes in this release:

  • Fixed a licensing issue with web service applications.
  • Updated the title bar of licensing messages to not indicate a product is in trial when it is licensed.

 

 

4.5.1.0 Released: 2012-06-27


 

  • Updated trial operation behavior and removed obstacle to using product in .NET Framework 4.5.

 

 

4.5.0.0 Released: 2012-05-03


 

  • FTP for .NET can now be used in MONO. Tested with MONO version 2.10.5.
  • Added support for EBCDIC file types.
  • The Progress event now provides more data, including completion percentage of a file or multi-copy operation.
  • A new ListView sample for ASP.NET.

 

Product fixes in this release:

  • There is no longer an indefinite wait when a server sends a 4xx response to an Append command in passive mode. (5545)
  • When a List call is performed with a specified pattern, the returned ListEntry objects no longer include the pattern as part of their Name. (5550)
  • Filenames are now correct after a NLST (List with a type parameter of ListType.Names). (5551)
  • A Get(List, ...) call with an empty remoteRoot parameter no longer results in downloaded filenames with a missing first character. (5570)
  • The returned CopyResults from a Get(List, ...) call now provide the correct LocalPath, instead of a temporary path. (5572)
  • The Progress event now provides the correct LocalPath during a Get, instead of a temporary path. (5606)
  • ListDirectoryTree now works when remote filenames include colons. (5608)
  • Fixed Mode Z compression. (5620)

 

 

4.4.2.3 Released: 2011-10-06


 

Product fixes in this release:

  • Disabling FtpSession.AsciiExtensions now works.

 

 

4.4.1.0 Released: 2011-07-22


 

Product fixes in this release:

  • The licenses.licx error message has been corrected. (5485)

 

 

4.4.0.10 Released: 2011-06-29


 

  • PowerTCP FTP for .NET is re-designed to be the most advanced FTP class library available, yet remains as easy to use as ever.

    Dart Communications is pleased to announce the release of PowerTCP FTP for .NET version 4.4. This release features an innovative, elegant new design, making TCP/IP-based communications easier to work with than ever before. This enhanced library requires fewer resources, provides more flexibility, and elicits code that is easier to re-use and maintain.


    - Implement state-of-the-art multi-threaded operations
    - Create sophisticated high-performance FTP applications
    - Include SSL for airtight security.


    Some of the exciting highlights include:
    - Promotes a Model-View-Controller design, for separation of protocol logic from the user-interface
    - Improved Use of .NET Features including generics and IPv6
    - Streamlined blocking functions that can easily be used asynchronously as well
    - SSL support for secure communications from a single method call
    - Support for Windows applications, services, WCF services, ASP.NET web services and applications.
    - Support for Windows Presentation Foundation (WPF) applications
    - Serializable session object for easily persisting runtime state information
    - Hordes of additional features including automatic listing parsing, recursive wild-card transfers and deletions, and synchronization.
    - Many sample projects for C#, VB.NET, C++/CLI, including ASP.NET
    - Comprehensive MS Help 2.0 and Help Viewer integrated documentation
    - Stand-alone and online documentation also provided
    - .NET Framework 4 Client Profile compatible
    - 64-bit OS support


  • Tips for Transitioning to Version 4
    This list outlines the coding changes needed when upgrading to version 4. For more on the benefits of the new model, please see PowerTCP 4.

    No more Async methods
    Previous versions of PowerTCP and PowerSNMP implemented an event-driven model for asynchronous use. In addition to a synchronous method, each operation had an asynchronous "BeginXXX" method and corresponding "EndXXX" event. For example, to receive data asynchronously using the Tcp component, the developer called BeginReceive and waited for the EndReceive event to fire with data. In the meantime, other code was free to execute.

    In the new model, asynchronous methods have been eliminated. Instead, the developer uses one or more synchronous methods (for example, "Receive") within a straight blocking function, and then passes a delegate referring to this function to the component's Start method. The Start method then executes the function on its own worker thread.

    Marshaling data back to the UI thread
    It is often necessary to pass information from a worker thread to an element on the UI thread. The new model includes Marshal functions to simplify these cross-thread operations. Each Marshal overload corresponds to an event handler that executes on the UI thread and provides access to data passed using the Marshal method.

    No more "pseudo-blocking"
    Methods in the new model are now true-blocking calls. In previous versions, methods were "pseudo-blocking," meaning that events could be raised while the call blocked. With the new model, methods are tighter and streamlined for better performance. Because the UI is blocked if a method is called from within the UI thread, the Start method should be used in UI environments so the user-interface is not blocked and events can fire.

 

 

3.0.7.0 Released: 2011-01-13


 

Product fixes in this release:

  • A login error introduced in version 3.0.6.2 was addressed. "An address incompatible with the requested protocol was used" error would occur under certain conditions if the server supported IPv6. (5374)

 

 

3.0.6.2 Released: 2010-09-21


 

  • PowerTCP FTP for .NET has been updated with VS 2010 integration.
  • PowerTCP FTP for .NET now supports .NET Framework 4 Client Profile.

 

Product fixes in this release:

  • Fixed a Null Reference exception that would occur when a server disallowed non-passive transfers. (5134)
  • Fixed an issue where ProtocolViolation exception would occur when multiple listings or files were retrieved in succession. (5305, 5334)

 

 

3.0.5.1 Released: 2009-08-17


 

  • The Ftp component now supports UTF8 filenames.
  • The Put and Get overloads for transferring multiple files now include a boolean parameter for creating empty folders.

 

Product fixes in this release:

  • The BeginDelete(string, bool, bool, object) overload now works correctly. (4885)
  • Fixed condition which would cause a "Control connection unexpectedly closed" error. (4888)
  • More descriptive error messages are presented when transfers fail. (4901)
  • Failed List commands no longer cause subsequent commands to timeout. (4946, 4898)
  • Fixed a condition that could result in a timeout when the server ran on the client machine. (4971)
  • Data connections now use the specified Ftp.Client value as the local address. (5088)
  • Relative paths now work as localRoot parameters in Put calls. (5101)
  • Explicitly secure data connections no longer timeout with vsFTPd servers. (5114)

 

 

3.0.4.0 Released: 2008-07-31


 

Product fixes in this release:

  • Fixed timeout issue that would occur after using the Get overload that returns a Stream.

 

 

3.0.3.3 Released: 2008-07-30


 

New Ftp.BeginDelete and Ftp.BeginInvoke overloads to parallel Ftp.Delete and Ftp.Invoke overloads.

 

Product fixes in this release:

  • A CLS Compliance Warning is no longer raised when a VS.NET 2003 project is converted to a 2005 project. (4556)
  • A stream upload on a fast machine over a slow network connection will no longer result in a truncated file on the server. (4642)
  • The first file in a group of files uploaded to a non-existent directory on a VxWorks server is now successfully transferred. (4644)
  • Uploading files to a non-existent directory in Passive mode no longer produces a null reference exception. (4646)
  • Filenames that contain consecutive spaces in listings are now handled correctly. (4687)
  • Component now sends PROT command for Implicit security servers that require it. (4761)
  • Corrected condition which could garble multibyte characters within Unicode listings. (4782)

 

 

3.0.2.0 Released: 2007-10-09


 

Product fixes in this release:

  • Can now delete files that contain backslashes on a UNIX system. Addresses issue introduced in version 3.0.0.2. (4413)
  • Corrected condition that caused an exception to be thrown when calling ExpandRemoteFiles. (4464)

 

 

3.0.1.0 Released: 2007-09-13


 

Product fixes in this release:

  • Corrected MGet sample project so that it no longer contains the source code for the MPut project. Affected CSharp sample only.
  • No longer send actual blocksize when issuing the PBSZ command. Several servers had problems with this, so now 'PBSZ 0' is always sent. (4370)

 

 

3.0.0.2 Released: 2007-08-03


 

  • Added the Compression property to allow standard, mode z and 'Archive transfer modes. See product page for details on this property.
  • Merged secure functionality from old Secure FTP for .NET product into current FTP for .NET product.
  • ListEntry property is now writable, so that when an unknown listing is encountered, the user can set the ListEntry properties himself after parsing the raw text of the listing.
  • Added overload to delete method that allows deletion of single file rather than a wildcard that could resolve to multiple files.

 

Product fixes in this release:

  • Help file updated to show that an empty file array returned from the Delete method means that none of the requested files were deleted. Also added a new overload for Delete that takes a single filename. (2326)
  • Fixed condition that caused FileType to be incorrect when an unexpected 550 response code was received from the NLST command. (4095)
  • Now properly recover from unexpected response code of 200 when from CWD command. (4177)
  • Restart now works properly when using overloads that deal with streams instead of filenames. (4265)
  • Delete method now allows use of both backward and forward slashes in the search pattern. (4413)

 

 

2.3.3.0 Released: 2006-08-11


 

  • FTP for .NET now supports 64 bit environments.

 

Product fixes in this release:

  • FileType is now reset when Windows Firewall is on (2799)
  • For methods that send multiple commands, a more relevant exception is raised (3344)
  • Thread count no longer increases with each PORT transfer (3593)
  • The component now works with secure servers that use certificates only for authorization (no USER/PASS) (3605)

 

 

2.3.2.0 Released: 2005-11-01


 

Product fixes in this release:

  • No longer send 'REST 0' if Restart = false
  • Added support for HTTP Connect proxy servers
  • Corrected problem where Invoke would fail when the Connection.Connect() method was used
  • Addressed issues where PASV mode connect would fail
  • Addressed issue where PORT mode listener would keep hold of it's socket

 

 

2.3.1.0 Released: 2005-08-02


 

  • Corrected problems that prohibited usage with Visual Studio 2005 beta 2 and made sure that all samples compiled and ran after being converted

 

Product fixes in this release:

  • Corrected problems that prohibited usage with Visual Studio 2005 beta 2

 

 

2.3.0.0 Released: 2005-05-10


 

We strive to continually upgrade our products with new features. Besides improving interoperability with more server implementations, this release adds the following new properties:

  • UseControlAddressForPassive property. Besides setting a record for our use of Hungarian notation, this property allows you to override the address returned from the server when the PASV command is sent. The default is false. If set to true, the IP address of the control connection will be used for establishing the data connection. This is used to establish a data connection to a firewall when the firewall was not smart enough to correctly modify the server's response to the PASV command.
  • UseIpSync property. The XP SP2 firewall enhancement does not respond correctly to the IP/SYNC signal used for aborting a file transfer (neither do many servers). Through the use of this property, your users can control the use of this feature when aborting a file transfer.
  • MaxTransferRate property. Since FTP file transfers can be processor intensive, customers have asked us to throttle the transfer speed. If the value of this property is below the actual transfer rate, the worker thread will be put to sleep each second to slow the actual rate to match this value.

 

Product fixes in this release:

  • Deep recursive directories greater than 512 characters now supported (1231)
  • MaxTransferRate property added to throttle transfers (1731)
  • UseControlAddressForPassive property added to allow bypassing of "dumb" or encyrypting firewalls (1928)
  • Fixed problem with asynchronous stream STOR (1955)
  • Fixed recovery from situation where all ports in local port range are in use (1974)
  • Fixed problem using Invoke() after RawConnect() (2112)
  • Fixed interoperability issue with server returning 220 for PASS (2113)
  • Fixed interoperability issue with Titan server that does not close control connection (2117)
  • Improved listing parsing for UNIX servers (2145)
  • Fixed interoperability issue with server that returns LF instead of CRLF (2466)
  • UseIpSync property added to control the use of IP/SYNC when aborting a file retrieve (2613)
  • AbortTransfer() now send ABOR when storing files, for compatibility with some server (2670)
  • Improved exception handling doing a GET when local disk if full (2677)
  • Modified FtpWebRequest.Close() to close control connection (2764)
  • ConnectedChanged event is now properly raised when control connection is closed (2827)
  • 0-length files can now be retrieved (3081)
  • GlobalScape persists marker, so reset to 0 for transfers (3090)

 

 

2.2.5.0 Released: 2003-10-31


 

This release is a major maintenance update. The version number of the installation kit has been incremented to match the assembly to minimize confusion. For more information, please see the Readme file included with the installation. All the samples have been revised and ASP.NET samples are now included with installation, rather than just from the Web. Plus, all ASP.NET samples now automatically create virtual directories upon installation, making ASP.NET testing easier

 

Product fixes in this release:

  • Fixed a UNIX list parsing problem (1375)
  • Improved error handling when receiving a 550 errors in certain circumstances (1411)
  • Added support for accepting 231 as valid response to USER (1611)
  • ConnectedChange Event is properly raised when network cable is disconnected (1675)
  • Fixed a problem when sending a "List -IR path" (1698)
  • Improved unexpected Close condition error handling (1699)
  • Fixed a problem with aborting using a Proxy (1729)
  • Adjusted error messages with FtpFile.Exception (1779)
  • Fixed a problem when logging in again after an Abort (1784)
  • Adjusted error message with Abort (1786)
  • Fixed a file lock situation when Put fails on Login (1789)
  • Fixed an unhandled exception when entering an invalid hostname with asynch login (1797)
  • Fixed a problem with certain PASV responses (1907)
  • Fixed a problem where ClientDataPort would not continue checking after failure (1969)
  • Fixed a problem with truncated MS-DOS style listing (1970)
  • State now preserved when an exception results with BeginPut (2020)

 

 

1.2.2.0 Released: 2002-11-25


 

  • This update enhances error handling when working with servers that return multiple error messages. Also, the FTP for .NET component now supports multi-gigabyte files, removing any programmatic file size limitation (this does not include OS and server limits). To accommodate this change the Size property of the ListEntry class has been changed from an integer to a long. Finally, Visual Studio .NET 2003 compatibility support has been included along with a Help 1.3 version of the documentation for those only using the .NET Framework without Visual Studio

 

 

2.0.3.0 Released: 2002-11-25


 

Product fixes in this release:

  • Fixed Trace that was broke in previous release
  • Asynchronous operations now return IAsynchResult object
  • Tested with Visual Studio .NET 2003
  • Documentation now available in Help 1.3 format
  • Added support for multi-gigabyte files

 

 

2.0.2.0 Released: 2002-10-23


 

Product fixes in this release:

  • Error 550 from a server didn't properly throw an exception
  • Fixed a bug with multiple Put commands
  • Fixed a bug in the .Name property in the ListEntry Object

 

 

2.0.1.0 Released: 2002-08-27


 

Product fixes in this release:

  • Add Microsoft licensing changes to support proper component use in Web Services and ASP.NET
  • Changed the namespace to Dart.PowerTCP.Ftp

 

 

2.0.0.1 Released: 2002-05-31


 

Product fixes in this release:

  • An abort of a directory delete will now properly occur
  • More compatibility issues addressed with the SIZE command

 

 

1.1.0.0 Released: 2002-05-17


 

  • PowerTCP FTP for .NET has recently been updated to provide additional functionality and increased exception handling capability. Go to www.dotnet.dart.com/dotnet/ftp.asp for more information on PowerTCP FTP for .NET and a free trial.

 

Version 1.1 Highlights

 

  • NEW Delete() and BeginDelete() methods delete directories, files (using wild-cards), and recursive directory trees. Be careful with this!
  • NEW BusyChanged event notifies you when operations start and end, providing a convenient signal for enabling/disabling UI components
  • Additional exception information is now captured for wild-card file transfers.
  • This is a NO-CHARGE upgrade for all customers who purchased version 1.0!

 

 

2.0.0.0 Released: 2002-05-17


 

Product fixes in this release:

  • Compatibility with legacy FTP servers that don't support the SIZE command addressed
  • Additional exception information is now captured for wild-card file transfers
  • MGET no longer truncates the first two characters of the filename
  • WSFTP MPUT compatibility with non-existant directories fixed
  • WSFTP CWD compatibility addressed
  • BusyChanged event notifies you when operations start and end, providing a convenient signal for enabling/disabling UI components
  • Dispose will no longer cause a lockup in certain situations
  • Delete() and BeginDelete() methods delete directories, files (using wild-cards), and recursive directory trees
  • DLL version changed to 2.0 from 1.0 to indicate a non-backwards compatible interface change
  • Added TransferAborted to the FtpFileStatus enumeration
  • Will now allow an abort during login process
  • Event handling adjusted for better timing
  • Now remove trailing "/" after issuing an RMD command
  • Login will no properly occur if previous attempt was not authenticated
  • Removed delay after a dispose occurs
  • Connected state now properly changes when a server times out

 

FTP for .NET Feature List

Easy to Use in Any Type of Project
  • Methods are simple blocking functions with little overhead
  • Streamlined for integration into non-UI projects such as web sites and services
  • Supports Windows Presentation Foundation (WPF) applications 
  • Start and Marshal methods provide asynchronous use for applications with a UI
  • Perform simultaneous file transfers in multi-threaded applications
  • Progress event is used to monitor and display transfer rate and advancement
  • Log event is used to for logging and debugging
  • Compatible with Client Profile projects

 

Includes the Features You Expect
  • Upload and download files and directories
  • Create directories
  • Delete files and directories, including subfolders
  • ASCII and binary transfers
  • Passive and active transfers
  • Set site-specific options and parameters
  • Runs in .NET 2.0+ Frameworks
  • Compliant with RFC 959 plus many extension standards

 

Plus Much More
  • Parses listings into easy-to-use objects
  • Throttle property can be used to limit bandwidth used
  • Resume interrupted transfers
  • Synchronize remote and local directories
  • Stream interface for direct access to the data connection
  • MODE Z On-the-fly ZLIB compression can be used to archive compressed files, or compatible servers can expand/compress files to minimize bandwidth used
  • IPv6 support, including "dual stack sockets" to help migrate to IPv6
  • Send custom commands
  • Abort transfers without losing the control connection
  • Transfer large (greater than 4 GB) files
  • Customize List parsing to recognize non-English months

 

Why Buy PowerTCP FTP for .NET?

 PowerTCP FTP for .NET features compared with .NET Framework 2.0/3.5/4.0 (Visual Studio 2005/2008/2010) 

Feature Visual Studio PowerTCP FTP for .NET
"AUTH TLS" explicit encryption support
Comprehensive explicit and implicit encryption -
Support for single file and streaming data transfers
Recursive wild-card directory file transfers and deletions -
MODE Z "On-the-fly" ZLIB compression support -
File listing parsing -
Log event for session logging and debugging -
Extensive firewall and proxy support -
Transfer rate throttle -

 

 

"PowerTCP FTP for .NET is our 4th-generation FTP product, and includes many ease-of-use features that our customers have requested over the years. You won't find any FTP component that is more intuitive or better documented".
-- Michael Baldwin, President

 

 

FTP for .NET Security Features (FTPS)

  • Secure (SSL 2.0, SSL 3.0, PCT, TLS 1.0, 1.1, 1.2) TCP communications supported
  • Explicit and implicit FTPS support
  • Secure the control (command) connection, the data connection, both, or neither
  • Network Address Translation (NAT) router support for secure transfers
  • Switch between secure and non-secure modes
  • X509 certificate management
  • Certificate callbacks allow for user-driven certificate validation
  • Proxy support for SOCKS 4/5, HTTP CONNECT, OPEN, USER and SITE FTP

 

 

Looking for an SFTP (SSH FTP) Product?

PowerTCP FTP for .NET includes support for FTPS (FTP over SSL). For SFTP support, see PowerTCP SSH and SFTP for .NET >

 

Implementing an Interactive FTP Client

Problem:

The developer is faced with the challenge of creating a fully functional FTP client with a sparkling graphical interface. The application must:

  • Put, Get and Delete files
  • Navigate folders on the server
  • Create and delete directories
  • Report transfer progress information
  • Log sessions to the interface and to disk
  • Support popular FTP proxies
  • Provide plenty of options such as compression and security

 

 

Solution:

With the PowerTCP FTP component, applications can perform all these tasks and more. The ListView Client sample demonstrates how to retrieve and display listings, transfer files with progress, delete files, create and delete directories, and log sessions to disk.

C# and VB.NET versions of this sample are included in the PowerTCP FTP for .NET installation. To download this sample with additional product-specific samples and documentation, see the following:

See all samples for PowerTCP FTP for .NET

Retrieving and Storing a File using a Stream

Problem:
The developer wishes to download or upload a file with direct access to the data as it is received or sent. The application must:

  • Expose the file data as a Stream in real-time
  • Show transfer progress
  • Include file and interface session logging
  • Allow restarts and aborts

 

 

Solution:

With the PowerTCP FTP component, applications can perform all these tasks and more. The StreamingTransfer sample demonstrates how to download or upload a file using a Stream interface, while providing progress statistics during the transfer.

C# and VB.NET versions of this sample are included in the PowerTCP FTP for .NET installation. To download this sample with additional product-specific samples and documentation, see the following: 

See all samples for PowerTCP FTP for .NET

Copy Multiple Files in Parallel

Problem:

The developer wishes to implement an application in which multiple files may be transferred simultaneously, with progress available for each. The application must:

 

  • Copy multiple files between client and server in parallel
  • Perform Gets and Puts
  • Provide a drag-and-drop interface
  • Provide progress for each file
  • Permit the user to cancel ongoing transfers

 

 

Solution:

With the PowerTCP FTP component, applications can perform all these tasks and more. The Parallel Transfers sample demonstrates how to upload and download many files simultaneously, while providing progress for each transfer.

C# and VB.NET versions of this sample are included in the PowerTCP FTP for .NET installation. To download this sample with additional product-specific samples and documentation, see the following:

See all samples for PowerTCP FTP for .NET

Implementing an FTP Web Service

Problem:

The developer is faced with the challenge of creating a web service which will retrieve a file from an FTP server when a client requests it. The application must:

  • Expose methods that consumer clients can interface with
  • Retrieve a specified file from a specified server
  • Utilizes methods optimized for use in environments lacking a UI
  • Send the file to the consumer over a network
  • Provide a service that is easy to update in a centralized location

 

 

Solution:

With the PowerTCP FTP component, applications can perform all these tasks and more. The FTP Web Service sample demonstrates how to implement FTP functionality within a web service.

C# and VB.NET versions of this sample are included in the PowerTCP FTP for .NET installation. To download this sample with additional product-specific samples and documentation, see the following:

See all samples for PowerTCP FTP for .NET

Implementing an FTP Windows Communication Foundation (WCF) Service

Problem:

The developer is faced with the challenge of creating a WCF service which will retrieve a file from an FTP server when a client requests it. The application must:

 

  • Expose methods that consumer clients can interface with
  • Retrieve a specified file from a specified server
  • Utilizes methods optimized for use in environments lacking a UI
  • Send the file to the consumer over a network
  • Provide a service that is easy to update in a centralized location

 

 

Solution:

With the PowerTCP FTP component, applications can perform all these tasks and more. The FTP WCF Service sample demonstrates how to implement FTP functionality within a web service.

C# and VB.NET versions of this sample are included in the PowerTCP FTP for .NET installation. To download this sample with additional product-specific samples and documentation, see the following:

See all samples for PowerTCP FTP for .NET

Purchase Options

Customize your product and support options match your needs. Discounts are applied when products are purchased in multiples or within available product suites.

$0.00 discount
 
$449.00

Have any questions about purchasing? See our Sales FAQ