Предотвращение наводнения в WCF - PullRequest
1 голос
/ 07 января 2012

Я использую WCF Web API.Я хочу предотвратить наводнение при вызовах методов.Я ограничил maxConcurrentCalls до 10. Но мне нужно больше ограничений.Например, если какой-либо клиент вызывает тот же метод в течение 3 секунд, он должен выдать исключение о вызове потока.Также, если какой-либо клиент вызывает один и тот же метод с одними и теми же параметрами десять раз в минуту, это необходимо предотвратить.Как я могу сделать это простым способом?

1 Ответ

3 голосов
/ 07 января 2012

На стороне службы вы ничего не можете сделать, чтобы клиенты не могли отправлять запросы.Если вы ожидаете большой объем, вам нужно убедиться, что конечная точка вашего сервиса масштабирована, поместив балансировщик нагрузки вперед.

Лучшее, что вы можете сделать, это реализовать режим экземпляра для каждого сеанса, а затем вернуть исключение, если в одном сеансе слишком много вызовов.Это по-прежнему означает, что вам нужно будет обрабатывать отдельные звонки.

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

...