C # - Renci.Ssh.Net - который дает оптимизированную производительность - WriteAllText Vs. Загрузить файл - PullRequest
1 голос
/ 09 марта 2019

Мне нужно сгенерировать несколько файлов XML в местоположении SFTP из кода C #.для подключения SFTP я использую Renci.Ssh.net.Я обнаружил, что существуют разные способы генерации файлов, включая WriteAllText() и UploadFile().Я создаю XML-строку исполнения, в настоящее время я использовал метод WriteAllText() (просто чтобы избежать создания XML-файла на локальном компьютере и, следовательно, чтобы избежать операции ввода-вывода).

using (SftpClient client = new SftpClient(host,port, sftpUser, sftpPassword))
{
    client.Connect();
    if (client.IsConnected)
    {
        client.BufferSize = 1024;
        var filePath = sftpDir + fileName;
        client.WriteAllText(filePath, contents);
        client.Disconnect();
    }
    client.Dispose();
}

Будет использовать UploadFile(), либоот FileStream или MemoryStream дать мне лучшую производительность в долгосрочной перспективе?

Спасибо!

1 Ответ

1 голос
/ 09 марта 2019

SftpClient.UploadFile оптимизирован для загрузки большого количества данных.

Но для 60КБ я почти уверен, что это не имеет значения вообще. Таким образом, вы можете продолжать использовать более удобные SftpClient.WriteAllText.


См. Также В чем разница между SftpClient.UploadFile и SftpClient.WriteAllBytes?

...