Если вы использовали Add Service Reference
от Visual Studio или svcutil.exe
, вы, вероятно, никогда не видели ChannelFactory.
По существу, создание прокси на стороне клиента для WCF-сервиса - это двухэтапный процесс:
ChannelFactory
для вашего конкретного контракта сервисаЕсли у вас есть контроль над обоими концами провода, и вы можете поместить свои контракты сервиса и данных в отдельную сборку, вы можете разделить этот двухэтапный процесс и обработать его вручную:
создать ChannelFactory
один раз, это довольно сложная и трудоемкая операция, поэтому, если это возможно, старайтесь делать это только тогда, когда это действительно необходимо, а затем кэшируйте фабрику каналов для последующего повторного использования
создать фактический канал с помощью фабрики каналов всякий раз, когда вам нужно общаться с сервером
Это очень специфическая конструкция для WCF-сервисов, поэтому я не думаю, что вы когда-нибудь будете использовать ее за пределами WCF.