2013-09-11 2 views
-1

В моей ситуации у меня есть служба, которую вызовет тысяча пользователей за определенный период. но я хотел бы ограничить их до 100 пользователей в раз, и бросить контракт о неисправности, если 101-й пользователь подключился. И клиентское приложение повторяет попытку через некоторое время.Ограничительный механизм подключения WCF

Как я могу достичь этого в своем сервисе?

ответ

0

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

Вот StackOverflow ссылка идет о дросселировании:

WCF: How do I add a ServiceThrottlingBehavior to a WCF Service?

+0

Я попробовал этот параметр в моем файле конфигурации. Клиент превышения не получил никакого исключения и просто продолжает ждать, пока принятое соединение не будет отключено от сервера. Однако клиент превышения не выполнил свою задачу. – user1580698

+0

Извините, у меня нет ответа. Я работаю над проектом WCF в течение 18 месяцев (промышленный масштаб), и мой опыт использования basichttpbinding заключается в том, что запросы будут отложены, а не отказаны, пока запрос не появится в очереди. Мы тестировали производительность и смогли загружать закачки (24-разрядные двоичные файлы) на 160 запросов в секунду. Это 1000 многопоточных, одновременных пользователей, каждый из которых загружает 40 пакетов, без задержки, на одном сервере WCF - каждый запрос ставится в очередь и обрабатывается. Ни один запрос не был отброшен. – Brian

Смежные вопросы