如何在ASP.NET Web Api中优先响应请求的优先级

时间:2017-01-09 19:32:29

标签: asp.net-web-api httpclient

我的代码看起来像这样:

class SomeController {

  HttpClient client = new HttpClient();

  public Task<dynamic> SomeAction() {
    Task.Run<dynamic>(() => {
      var response = client.GetAsync(new Uri(someUrl));
      return response.ReadAsAsync<dynamic>().Result;
    });
  }
}

现在,我将这个api称为许多请求(大约300个)和一些&#39; someUrl&#39;大约200ms后返回响应。

添加一些控制台日志后,我可以看到一个行为:

  • 所有200个请求到达并请求someUrl资源
  • 处理并正确返回对someUrl的前2-3个请求
  • 其他回复正在等待所有300个请求到达,然后才会返回...

我听说在这种情况下没有针对传入请求的响应优先级,但对我来说这似乎很奇怪。似乎来自我的服务器的请求和来自someUrl的响应都在同一个队列中,直到发送了所有请求,才能处理响应。

其他人遇到过这种情况?任何人都知道如何正确处理它?<​​/ p>

谢谢!

0 个答案:

没有答案