Как я максимизирую производительность для своего wcf сервиса? Действительно ли возможно использовать в своих интересах многоядерный? или многопоточность?
Спасибо!!
Следующие свойства Behavior по умолчанию соответствуют простейшему (однопоточному) решению, изменив их значения по умолчанию, вы получите многопоточное решение, включая самодостаточные службы.
Single
(однопоточный)True
(эффективно однопоточный в сценарии UI self hosted)Возможно, вы захотите также посмотреть на InstanceContextMode также эта статья MSDN дает отправную точку на WCF Concurrency.
Если вы разместите свой WCF-сервис в IIS, то IIS поместит каждый вызов на свой собственный поток, давая вам преимущество многоядерности на вашем сервере.
Если вы хотите, чтобы один вызов выполнялся во многих потоках, то вам необходимо запрограммировать это самостоятельно в своем коде. Это может понадобиться только в том случае, если ваша служба выполняет много вычислений.
Это очень общий вопрос, на который сложно ответить. Это будет зависеть от того, что делает ваша служба и как она реализована. Но, как правило, следует избегать длительных операций, которые могут монополизировать рабочие потоки.