Почему WCF ограничивает количество одновременных подключений до 5? - PullRequest
13 голосов
/ 26 марта 2009

У меня есть служба WCF (basicHttpBinding), размещенная в II7 в Vista, и я ожидаю одновременной обработки многих запросов. Я пытаюсь загрузить службу тестирования, порождая 200 потоков в тестовом приложении и вызывая службу WCF. Я запустил это тестовое приложение на той же машине, что и сервер, а также на нескольких других компьютерах, и всегда получаю один и тот же результат - используется не более 5 рабочих. Это узкое место WCF, HTTP или IIS?

Ответы [ 5 ]

11 голосов
/ 26 марта 2009

Эта функция предотвращает атаку типа «отказ в обслуживании». Из коробки WCF разработан, чтобы быть безопасным. Проверьте поведение службы, посмотрите в msdn конфигурацию maxConcurrentCalls и maxConcurrentSessions. Я думаю, что предел составляет 10, но я могу ошибаться.

5 голосов
/ 27 марта 2009

Вот хорошая статья об управлении экземплярами WCF из журнала MSDN от Juval Lowy: http://msdn.microsoft.com/en-us/magazine/cc163590.aspx Выпуск за июнь 2006 г. (в случае, если MSDN снова раскроет свои ссылки).

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

2 голосов
/ 26 марта 2009

Нет, это просто настройки по умолчанию в WCF. Он настраивается в элементе serviceThrottling поведения в файле конфигурации службы, который имеет атрибут maxConcurrentSessions. По умолчанию 5, но вы можете установить его на что хотите.

2 голосов
/ 26 марта 2009

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

Здесь - обзор этих настроек - с вашей стороны потребуются некоторые эксперименты, чтобы определить, что именно вас кусает.

0 голосов
/ 30 мая 2017

Начиная с .NET 4.5, количество подключений по умолчанию (100 * количество процессоров) - Свойство ServiceThrottlingBehavior.MaxConcurrentSessions

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...