When sending large amounts of data, you are limited by the bandwidth of the connection. And you have to take care of connection failures. Small crashes can have a big impact if you need to resend a lot of data.
You can use BITS , it transfers data in the background and divides the data into blocks. In this way, he will take care of a lot for you.
It depends on IIS (on the server) and has a client (API) for data transfer. Therefore, you do not need to read or write the basics of data transfer.
I don't know if it will be faster, but at least much more reliable than a single HTTP or FTP request. And you can run it very quickly.
If bandwidth is a problem and you do not need to send it over the Internet, you can check for high bandwidth / low latency connections, for example by sending a DVD to a courier.
You can use BITS from .Net, CodeProject has a shell .
Gvs
source share