Как я могу ограничить количество звонков для службы WCF за определенный промежуток времени? - PullRequest
2 голосов
/ 26 октября 2008

Я хочу написать службу WCF, которая не может запускаться более X раз в час. Я хочу, чтобы служба приостанавливала сообщения в очереди, если служба вызывалась более x раз за последние 60 минут.

Есть идеи, как ограничить услугу? Я готов написать пользовательские компоненты в стеке WCF.

1 Ответ

1 голос
/ 26 октября 2008

Используя базу данных, файл XML или какое-либо другое хранилище данных, запишите дату и время каждого обращения в службу, и если оно выполняло какую-либо работу. Каждый раз, когда услуга вызывается:

  1. Проверьте количество записей в вашем хранилище данных, которые работали в течение последних 60 минут.
  2. Если меньше X, работай, запиши, что ты работал и когда.
  3. Если более чем x переместить запрос в очередь, запишите запрос.

Вам также потребуется что-то проверить свою очередь на работу (служба Windows?) И определить, считается ли работа, выполненная в очереди, вашим X раз в час или нет.

Это очень высокий уровень, поскольку мы ничего не знаем о вашем проекте, HTH.

...