Нет необходимости публиковать приложение WCF вручную в IIS для целей разработки / отладки. Хостинговая часть уже встроена в Visual Studio.
Если вы хотите подключить клиентское приложение к службе WCF, я могу придумать два способа:
Способ 1. Использование справочника услуг
Это самый быстрый подход, который в большинстве случаев работает «из коробки» (вы выбрали этот).
Вам нужен файл решения с клиентскими и серверными проектами, похожим на этот:
В диалоговом окне «Добавление справочника услуг» нажмите «Обнаружить». Это будет искать службы WCF в вашем решении (эти службы запускать не нужно).
Примечание: если вы нажмете «Перейти», будет найдена только запущенная служба.
Вы должны увидеть свою службу в разделе «Службы», и поле адреса автоматически заполнится для вас адресом, который Visual Studio будет использовать для локальной отладки.
Продолжайте добавлять услугу, как всегда ...
Visual Studio автоматически обновит файл app.config клиента.
Если вы запустите только консольное приложение, Visual Studio также запустит службу в фоновом режиме. Вы можете войти в сервисную операцию, нажав F11 без явной установки точки останова.
Способ 2: без использования сервисных ссылок
При нажатии на «Добавить ссылку на службу» будет сгенерирован код на основе текущих контрактов данных. Если вы измените это определение (типы, операции и т. Д.), Вам придется сгенерировать его снова.
Если вы являетесь владельцем клиента и службы, вы можете создать динамический прокси во время выполнения, используя WCF Channelfactory.
Вы должны извлечь контракт на обслуживание и контракты на данные только для новой сборки и предоставить к ним доступ клиенту и серверу.
Генерация кода не требуется, и таким образом вы всегда будете в безопасности во время компиляции.
См. здесь для получения дополнительной информации.
Поскольку VS не знает ни одной ссылки на сервис, вы должны запустить оба проекта самостоятельно. Просто установите несколько проектов запуска в вашем решении и нажмите F5.
Но в этом случае вам необходимо установить точку останова в приложении-службе.