Das Schreiben in eine Datei mit StreamWriter ist viel langsamer als das Kopieren von Dateien über ein langsames Netzwerk

Ich habe ein Programm, das versucht, ziemlich viel Text in eine Datei auf einem Remote-Server in Übersee zu schreiben, der eine langsame Netzwerkverbindung hat.

Mit dem folgenden Code, wooutputFileContent ist einStringBuilder:

using (var outfile = new StreamWriter(myRemoteFilePath))
{
    outfile.Write(outputFileContent.ToString());
}

Die Ausführung dauert sehr lange (mehrere Minuten). Wenn ich jedoch zuerst in eine lokale Datei schreibe und sie dann an den Remotestandort kopiere, ist dies viel schneller (20-30 Sekunden):

string tempFilePath = Path.GetTempFileName();
using (var outfile = new StreamWriter(tempFilePath))
{
    outfile.Write(outputFileContent.ToString());
}

System.IO.File.Copy(tempFilePath, myRemoteFilePath, true)

Irgendeine Idee, warum das passiert? Ich vermute nur, dass es etwas mit dem Puffern im Netzwerk zu tun hat, oder vielleicht, weil der Stream-Writer nicht weiß, wie groß er sein muss, bevor er es tut.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage