One of our clients did not include our IP address in their white list for their FTP server (SFTP) so our attempts to deliver daily files to them were rejected for about a month. During this time, many of our attempts to send the file did not throw an exception when we attempted to connect to their server. Some attempts did throw the following exception: EnterpriseDT.Net.Ftp.Ssh.SFTPException: Protocol negotiation timeout
The exception is, of course, the expected behavior and we have a process that handles any exception and marks the delivery attempt as failed. However, when no exception was thrown and the connection process hung, the task was "running" for days until killed.
System Information:
- We are using version 9.1.1.20 (edtFTPnetPro dll)
- We do not currently enable logging (is there a way to log to a Db or object?)
- We are using .NET 4.6
- All FTP transactions are called from static routines which create the connection and then call the SecureFTPConnection methods (upload, delete, download, etc).
Why wouldn't the Connect() method throw an exception? I know it is failing there because we log our steps to a communication log in the Db which ends when we call Connect() and does not have the next entry (Connection success or connection failed).
Is there anything we can do to catch when this is failing to throw an exception when connecting?