Используя базу данных, файл XML или какое-либо другое хранилище данных, запишите дату и время каждого обращения в службу, и если оно выполняло какую-либо работу. Каждый раз, когда услуга вызывается:
- Проверьте количество записей в вашем хранилище данных, которые работали
в течение последних 60 минут.
- Если меньше X, работай, запиши, что ты работал и когда.
- Если более чем x переместить запрос в очередь, запишите запрос.
Вам также потребуется что-то проверить свою очередь на работу (служба Windows?) И определить, считается ли работа, выполненная в очереди, вашим X раз в час или нет.
Это очень высокий уровень, поскольку мы ничего не знаем о вашем проекте, HTH.