Высокая производительность wcf

Как я максимизирую производительность для своего wcf сервиса? Действительно ли возможно использовать в своих интересах многоядерный? или многопоточность?

Спасибо!!

1
задан Jacko 10 July 2010 в 12:30
поделиться

3 ответа

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

  • ConcurrencyMode по умолчанию Single (однопоточный)
  • UseSynchronizationContext по умолчанию True (эффективно однопоточный в сценарии UI self hosted)

Возможно, вы захотите также посмотреть на InstanceContextMode также эта статья MSDN дает отправную точку на WCF Concurrency.

1
ответ дан 2 September 2019 в 23:08
поделиться

Если вы разместите свой WCF-сервис в IIS, то IIS поместит каждый вызов на свой собственный поток, давая вам преимущество многоядерности на вашем сервере.

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

0
ответ дан 2 September 2019 в 23:08
поделиться

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

0
ответ дан 2 September 2019 в 23:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: