Стоит кэшировать ChannelFactory
, потому что его создание обходится дорого. Прокси, сгенерированные Добавить ссылку на службу (или svcutil.exe
напрямую), делают это в некоторых сценариях (как правило, вы не должны создавать привязку в коде, если хотите иметь это кэширование). Если вы создаете ChannelFactory
вручную (вы не используете сгенерированные прокси-серверы), вам остается хранить его где-нибудь, а не инициализировать каждый раз, когда вам это нужно.
Объединение прокси, вероятно, не имеет особого смысла. Для сервисов без сохранения состояния создание прокси должно быть быстрым (если вы кэшировали фабрику). Для сервисов Statefull вы не хотите разделять прокси между несколькими «клиентами». Существует также пул на уровне самого соединения. Привязки HTTP по умолчанию используют то, что называется постоянными соединениями. Эти соединения могут быть повторно использованы несколькими прокси. Привязки Net.tcp и net.pipe используют внутренний пул соединений . Это означает, что время жизни прокси не должно совпадать с временем жизни соединения.