C#- Renci.Ssh.Net- 哪一个提供了优化的性能- WriteAllText 与。上传文件

C#- Renci.Ssh.Net- Which one gives optimized performance- WriteAllText Vs. UploadFile

我需要从 C# 代码在 SFTP 位置生成多个 XML 文件。对于 SFTP 连接,我使用 Renci.Ssh.net。我发现有不同的方法来生成文件,包括 WriteAllText()UploadFile()。我正在生成 XML 字符串 运行time,目前我使用了 WriteAllText() 方法(只是为了避免在本地创建 XML 文件,从而避免 IO 操作)。

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 都会给我更好的长 运行 性能吗?

结果文档大小以 KB 为单位,大约 60KB。

谢谢!

SftpClient.UploadFile 针对大量数据的上传进行了优化。

但是对于 60KB,我很确定它没有任何区别。所以你可以继续使用更方便的 SftpClient.WriteAllText.

尽管如此,我相信大多数 XML 生成器(如 .NET XmlWriter 能够将 XML 写入 Stream(通常是首选输出 API,而不是字符串)。所以最终使用SftpClient.UploadFile可以更方便。


另见