2016-12-13 56 views
0

我有一个IIS 4.5的ASP.NET 4.5 Web API应用程序。IIS上的ASP.NET只能同时处理1个异步请求

服务器是AWS EC2。

我有一个ActionFilter记录传入的请求URL。所以基本上它会记录第一次请求“进入”我的应用程序。

我发出2个请求(使用邮差),我看到我的ActionFilter未被调用我的第一个请求完成。

这些请求涉及一个异步等待模式通过数据库查询。

我做了两次:

  • 2请求使用不同的参数相同的URL(这是一个网络的API 应用程序)
  • 2请求发送到不同的URL(因此不同 ApiController

我正在使用IIS“开箱即用”设置。

  1. 我该如何解决这个问题?
  2. 我应该检查哪些IIS配置设置?
  3. 纠正我,如果我错了,但异步等待不相关,因为ThreadPool线程应该能够处理多个同步调用,对吧?

谢谢!

+0

您需要调试自己并确定请求被阻止的位置。好的起点是用'await Task.Delay(10000);'替换所有的数据库访问权限,并且看看你是否有同样的问题......开始使用[MCVE]对于SO问题是必须回答 - 所以花费一些时间到了一个。 –

+0

你确定这些请求都是同时发送吗?也许邮差正在排序请求? – Sunshine

回答

0

问题是邮差/ Chrome正在对请求排序到同一个域。 所以它只是客户端的限制。

从多台机器发出请求导致IIS并行响应。

谢谢大家!