0

我正在使用 FLuentFtp 从 ftp 下载文件。如果我调用同步方法:

client.Connect();

var status = client.DownloadFile(localPath, ftpPath);

然后它可以工作,但异步版本即:

await client.ConnectAsync();

FtpStatus status = client.DownloadFileAsync(localPath, ftpPath).Result;

两者都不起作用。两者都不会引发异常,但它们不会在 2 分钟内完成,而同步版本需要 2 秒。

是不是没有可用的线程来运行这些方法,如果是这样,我该如何检查。

如果这有助于缩小范围,则 TaskState 是 WaitingForActivation。

4

1 回答 1

0

我想,你有一个僵局

client.DownloadFileAsync(localPath, ftpPath).Result;

你应该用 await 调用它:

FtpStatus status = await client.DownloadFileAsync(localPath, ftpPath);
于 2020-12-11T11:52:29.550 回答