C # очередь запросов - PullRequest
3 голосов
/ 21 июня 2009

Мой веб-сервис использует другой API для получения данных.Я кеширую данные, очищаю их и возвращаю их пользователю при запросе.В настоящее время я получаю много запросов, и поскольку я могу получить доступ к API данных только 2 раза в секунду, я получаю сообщения об ошибках, что означает, что некоторые пользователи не получают данные, а другие делают.Я хочу сделать, это добавить каждый запрос в очередь и обрабатывать их один за другим с периодом ожидания 0,4 секунды между ними.Очередь должна быть запущена постоянно, чтобы убедиться, что все запросы обработаны.

Как мне это сделать в ASP.NET 3.5?

1 Ответ

5 голосов
/ 21 июня 2009

Вкратце, я предлагаю вам создать службу Windows для обработки очереди MSMQ. Ваш существующий веб-сервис будет помещать запросы в эту очередь.

Однако ваш сервис должен стать асинхронным веб-сервисом. Таким образом, пока «ожидая» ответа, ваша служба не будет блокировать поток запросов.

Кстати, вы используете веб-сервисы ASMX или сервисы WCF? Это определит, как сделать службу асинхронной.

...