Каковы недостатки использования общего статического прокси-клиента WCF?

Я рассматриваю возможность использования прокси-клиента Shared (read static) WCF для приложений с высокой пропускной способностью. Я полагаю, что в этом есть прирост производительности, но я пока не тестировал это.

Есть ли серьезные подводные камни в этой идее?

Из моего исследования я вижу, что существует проблема обработки состояния ошибки, неясно, каким будет влияние этого состояния на другие ожидающие запросы.

У кого-нибудь есть опыт восстановления прокси WCF из неисправного состояния?

заранее спасибо!

2 ответа

Решение

Когда канал находится в неисправном состоянии, он останется таким. Так что да, я думаю, что статический клиент будет проблематичным. Я тоже начал таким образом, но в итоге создал и открыл новый канал для каждого звонка. Там, кажется, не так много компромисса производительности.

Для справки я выполняю около 30-60 запросов со скоростью около 5–30 тыс. Запросов в секунду на четырехъядерном компьютере с другого четырехъядерного компьютера. WCF пока держится довольно хорошо.

Я только что обнаружил, что вызов Close() на прокси-сервере будет блокироваться, когда вызовы, являющиеся операциями One Way, выполняющими [OperationContract(IsOneWay = true)]. Это также изменило бы поток.

Другие вопросы по тегам