Question

In a .NET C# program, is it easy to transition from FTP to SFTP? I'm trying to get a sense of how muh time it would take the contractor to make the transition. My personal experience is mostly with PHP, so I have no idea.

Basically, what I'm talking about, what steps would have to be made? Obviously, different commands, but would anything else in the code itself? Like do the commands require different formats, etc.?

Also, if anyone has a list of all the .NET/C# FTP and SFTP commands, that would be really helpful.

Clarification, as requested: The program is uploading extremely small files (20 KB) to a server. By format, I mean visually, because I was wondering about a find/replace job.

Was it helpful?

Solution

One thing that you'd need to consider is how well your current code is written. If your existing FTP implementation is horribly designed spaghetti code then converting it to SFTP may be next to impossible and take way longer than you'd like. Without knowing the current state of the code, it would be difficult for anyone to make a good estimation. And even if you do get an estimation from people on this site, I wouldn't recommend trusting it (even though the people on this site are great) since without all the information in front of them it will be next to impossible for anyone to come up with a reliable estimate.

Perhaps you should consider hiring a good consultant or business analyst to do a thorough estimate for you.

OTHER TIPS

This is a pretty vague question. You haven't told us what the C# program is doing with FTP. Is it a server, is it a client, is it doing directory listings, is it uploading 100 GB files? What library is it using?

According to this forum post , there is no built-in support for SFTP in .NET, so you would have to use third-party libraries such as SharpSSH or Granados SSH.

I don't really know what you mean, "do the commands require different formats". Obviously, the code will use different:

  1. Libraries
  2. Types
  3. Wire protocol.

It will obviously appear somewhat similar, thanks to the abstraction of the libraries. I suggest you provide more information, and a clearer question.

It really depends on what C# library your developer has used to implement FTP.

If, for example, they used edtFTPnet, a widely available open source library, then the upgrade path is trivial if you replace it with edtFTPnet/PRO. The PRO version has the identical API and just a few extra lines of code would be needed.

I've been down this road.

It depends, but keep in mind that SFTP, FTP-SSL and FTP are different. If he's writing the SFTP libraries himself, a month or two, since it's a lot of work to make it perfect and compatible. But he should NOT do that.

In short, get him to use an external library to add SFTP functionality. This will make it pretty short. Maybe a week or two of full-time work, but it depends on how involved it is. There's open-source options.. But for $50-150 you can get a license to well-maintained code that's really easy to use. will save him days of work. There's links above, but I'd look at: Free: http://www.enterprisedt.com/products/edtftpnet/overview.html

Commercial: http://www.weonlydo.com/

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top