首页 > 解决方案 > 使用 RestSharp 提交并发 HTTP 请求

问题描述

我有一个作为自托管 OWIN 应用程序运行的 RESTful API,以及一个对服务器进行 API 调用的客户端。两者都是使用 .Net/WebAPI/RestSharp 完成的。在正常情况下,客户端发送 HTTP 请求并接收 HTTP 响应,一切都按预期工作。但是,在某些情况下,客户端需要在收到前一个请求的响应之前发送另一个请求。就像是:

问题是 Request2 在 Response1 到达之前不会发送。这些请求是阻塞调用(同步),我不能使它们异步。

在初始化我的 RestClient 之前,我尝试将 System.Net.ServicePointManager.DefaultConnectionLimit 设置为 20,但这没有帮助。

System.Net.ServicePointManager.DefaultConnectionLimit = 20;    
var Client = new RestClient("https://someURL");  

知道问题可能是什么吗?我该怎么做才能同时发送这些请求?

标签: resthttpasp.net-web-api2restsharp

解决方案


使用RestClient.ExecuteAsync()而不是.Execute()可以解决问题。


推荐阅读