2012-07-02 2 views
4

Сколько загрузки может использовать служба WCF, размещенная в дескрипторе консоли? Может ли он обрабатывать входящие запросы так же, как WCF, размещенный в IIS?Служба WCF, размещенная в консольном приложении

Дополнительные примечания: Могут ли запросы поступать одновременно?

У меня есть служба WCF, размещенная в консольном приложении. Я вызываю эту службу WCF из веб-приложения. Это веб-приложение может одновременно иметь сотни запросов.

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

+1

Вы можете загрузить тестовые службы, используя что-то вроде loadui. Вы также можете настроить wcf для обработки запросов одновременно. Быстрый google должен получить вас на вашем пути. – CSharpened

+0

@abatishchev Спасибо за редактирование. –

ответ

7

Не имеет значения, где размещается служба WCF. Все зависит от настроек привязки, конечной точки, конечных точек и параметров поведения службы и, что не менее важно, от того, как вы устанавливаете (через атрибуты) режим instancing и тип параллелизма для вашей службы.

Эти настройки принимаются экземпляром ServiceHost. Даже если он запущен в консольном приложении, само приложение представляет собой контейнер для ServiceHost, который создает среду выполнения для вашей службы WCF на основе настроек, которые вы им предоставляете.

Что вас интересует, см. here (параллелизм и дросселирование). Кроме того, что-то очень extensive on WCF instance modes.

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

+0

Кажется, singleton невозможно в моем случае, потому что много приложений будет делать много запросов/минуту. –

+1

@KavehShahbazian: Не имеет значения, сколько запросов есть. Может быть тысячи/сек. Пока вы не сохраняете какое-либо состояние или какой-либо пользовательский сеанс в своих сервисах (например, статические коллекции с некоторыми данными, измененными и прочитанными всеми запросами), вы в порядке. –

1

Сколько нагрузки может оказать служба WCF, размещенная в ручке приложения консоли?

Насколько ваш компьютер может самостоятельно обслуживать службу WCF.

Хост может быть консольным приложением или службой Windows, не имеет значения, с точки зрения нагрузки они одинаковы.

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