RestSharp 异步后台线程

RestSharp async background thread

我正在尝试使用 RestSharp 向服务器发送一些 POST 请求。然而:

  1. 服务器处理每个请求大约需要 20 秒
  2. 我不想在等待它们完成时锁定我的 GUI。

RestSharp 具有异步功能,所以我这样写:

var handler = _restClient.ExecuteAsync(request, response =>
                {
                    if(response.IsSuccessful)
                    {
                        Console.WriteLine("Success");
                    }
                });

我需要做的是确保这发生在一个单独的后台线程上,以免锁定 GUI,并等待每个响应,检查是否成功,然后发送下一个。

有什么建议吗?某种队列?

您可以考虑使用 async/await 以免锁定 UI 线程

var response = await _restClient.ExecuteTaskAsync(request);
if(response.IsSuccessful) {
    Console.WriteLine("Success");
}