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);
我正在从 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);