3

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

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

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

4

1 回答 1

5

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

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

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

于 2009-06-21T04:10:34.653 回答