2009-06-21 104 views
3

我的Web服务使用另一个API来获取数据。我缓存数据,清理它并在用户提出请求时返回。目前我收到很多请求,而且由于我每秒只能访问数据API 2次,所以我收到了错误,这意味着某些用户无法获取数据和其他数据。C#请求队列

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

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

回答

5

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

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

顺便说一句,你使用ASMX的Web服务或WCF服务?这将决定如何使服务异步。

+0

说实话,我实际上只是使用MVC视图页面来返回基于URL中的细节的JSON。 mvc控制器获取变量并将项目列表发送到视图以供其显示。 是否真的有必要有一个独立的Web服务来处理请求?如果是的话,你认为哪种服务最好。 – 2009-06-22 07:18:08