【发布时间】:2018-09-07 14:26:33
【问题描述】:
我在 C# 中使用 Renci SSH.NET 作为 SFTP 客户端。
现在我正在用这个 API 制作一个进度条。我尝试了异步和等待,但我找不到获取下载字节的解决方案。我试过这样:
你能告诉我我的代码有问题吗?
有什么方法可以尝试使用异步,等待 Renci SSH.NET?并从 API 获取一些下载或上传的字节。
IAsyncResult UploadResult = sftp.BeginUploadFile(stream, remotepath + "/" +
Path.GetFileName(localpath));
SftpUploadAsyncResult UploadProgress = new SftpUploadAsyncResult(null, UploadResult.AsyncState);
Window_Progress wp = new Window_Progress();
Point _pt = MainWindow.current.PointToScreen(new
Point((MainWindow.current.Width - wp.Width) / 2,
(MainWindow.current.Height - wp.Height) / 2));
wp.Left = _pt.X;
wp.Top = _pt.Y;
while (!UploadProgress.IsCompleted)
{
UploadProgress = new SftpUploadAsyncResult(null,UploadResult.AsyncState);
Thread.Sleep(10);
wp.PartialProgressBar.Value = (UploadProgress.UploadedBytes /
FilesAndDirectory.GetSize(localpath) * 100);
}
UploadProgress.AsyncWaitHandle.WaitOne();
wp.Close();
【问题讨论】:
-
不清楚你在问什么。你有错误吗?如果有,请复制到这里。您遇到了什么问题?
标签: c# .net progress-bar sftp ssh.net