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
可以更方便。
另见
我需要从 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
可以更方便。
另见