我目前正在生产环境中遇到一些问题,经过一些调查后,我发现很多请求在应用程序池的工作进程中排队.常见的是,长时间排队的每个请求都是web api请求,我在应用程序中同时使用MVC和Web API.
请求排队大约3个小时,当应用程序池被回收时,它们立即开始排队.
它们都处于ExecuteRequestHandler状态
我应该继续挖掘哪些想法?
我的Web服务使用另一个API来获取数据.我缓存数据,清理数据并在用户发出请求时将其返回给用户.目前我收到了很多请求,因为我每秒只能访问数据API 2次,我收到错误,这意味着有些用户无法获取数据,而其他用户则无法获取数据.
我想要做的是将每个请求添加到队列中并逐个处理它们,它们之间有0.4秒的休眠时间.他必须一直运行队列以确保处理所有请求.
我将如何在ASP.NET 3.5中执行此操作?
任何人都可以解释为什么requestQueue用于凌空.我也明白所有成功的请求都被添加到requestQueue(如果我错了,请纠正我).但为什么我们需要向requestQueue添加成功的请求