2009-06-21 110 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