Если вы управляете сервером и клиентом, вы можете использовать Использование Channel Factory. На стороне клиента вам нужна сборка сервисного интерфейса. Поэтому вам нужно «контролировать обе стороны». Теоретически это достаточно, если вы просто управляете клиентской стороной, но имеете доступ к общей сборке с интерфейсом службы. На стороне клиента вы затем можете создать канал:
var channelFactory = new ChannelFactory<ISomeService>("someEndpoint");
Этот подход может сэкономить время, но имейте в виду, что это пары клиент довольно близко к службе! В зависимости от ваших требований лучше было бы использовать прокси-сервер службы.
Посмотрите на эту статью: http://www.codeproject.com/Tips/558163/Difference-between-Proxy-and-Channel-Factory-in-WC
Edit: Так что ваш реальный вопрос: «Что подразумевается под термином„контрольный клиент и сервер“» Это просто означает, что вы или ваша организация имеете возможность изменять клиентское программное обеспечение и серверное программное обеспечение. Поэтому, если вы разрабатываете клиентское программное обеспечение и серверное программное обеспечение, вы «управляете клиентом и сервером». Представьте, что вы разрабатываете метеорологическое обслуживание с открытым API. В этом случае у вас нет контроля над клиентом, так как любой может разработать клиент, который связывается с вашим сервисом.
спасибо за ваш ответ. Я думаю, что у меня есть проблема с клиентом WCF .. мой вопрос в том, когда у нас нет контроля над клиентом WCF и когда у нас есть контроль над ним ????? plz help – Pejman
см. мой отредактированный ответ – khlr
Спасибо большое, это очень полезно. Я отмечаю это как ответ :) – Pejman