FluentFtp 异步方法不起作用

FluentFtp async methods not workng

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

client.Connect();

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

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

await client.ConnectAsync();

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

两者都不起作用。两者都不会抛出异常,但它们不会在同步版本需要 2 秒的情况下在 2 分钟内完成。

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

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

我想,你有一个 deadlock 行:

client.DownloadFileAsync(localPath, ftpPath).Result;

你应该用 await 来调用它:

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