C#请求队列

时间:2009-06-21 04:03:23

标签: c# asp.net request-queueing

我的Web服务使用另一个API来获取数据。我缓存数据,清理数据并在用户发出请求时将其返回给用户。目前我收到了很多请求,因为我每秒只能访问数据API 2次,我收到错误,这意味着有些用户无法获取数据,而其他用户则无法获取数据。

我想要做的是将每个请求添加到队列中并逐个处理它们,并在它们之间休眠0.4秒。他必须一直在运行队列以确保处理所有请求。

我如何在ASP.NET 3.5中执行此操作?

1 个答案:

答案 0 :(得分:5)

简单地说,我建议您创建一个Windows服务来处理MSMQ队列。您现有的Web服务会将请求放入该队列。

但是,您的服务需要成为异步Web服务。这样,在“等待”响应时,您的服务将不会阻止请求线程。

BTW,您使用的是ASMX Web服务还是WCF服务?这将决定如何使服务异步。