RestSharp异步后台线程

时间:2018-09-13 11:07:21

标签: c# multithreading restsharp

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:3)

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

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