Я считаю, что исходный вопрос был очень плохо поставлен, чтобы получить удовлетворительный ответ, вам нужно четко указать все детали.
В первую очередь, какую версию Visual Studio вы используете? Поскольку ничего не сказано, я предполагаю, что это последняя версия VS2010 с пакетом обновления 1 (SP1).
Предположим, у вас есть визуальное студийное решение, имеющее два проекта, одно из которых - это библиотека услуг WCF, другая - приложение WCF, созданное с использованием шаблона проекта по умолчанию без ручной настройки.
- Служба библиотеки WCF будет иметь app.config файл со следующей строкой:
в кратко-, Visual Studio 2010 (SP1) использует WsHttpBinding для проектов службы WCF библиотеки по умолчанию.
- Проект приложения службы WCF, однако, будет иметь файл web.config, который не содержит явного определения конечной точки, и в этом случае используемая по умолчанию привязка конечной точки является basicHttpBinding.
ОП сказал: «Когда я нажал F5 на этот проект ...», это очень вводящее в заблуждение утверждение. Что значит «нажать F5 на проекте»?Вы имеете в виду, что вы выбрали узел проекта в дереве решений, а затем нажали F5? Если это так, то всегда будет зависеть от того, какой проект задан как проект запуска в решении (а не на том, какой узел проекта выбран в Visual Studio UI).
Если проект приложения WCF Service Application является проектом запуска, нажатие F5 НЕ приведет к запуску клиента тестирования WCF, вместо этого оно приведет к отображению папки проекта в IE.
Если проект библиотеки WCF является начальным проектом, будет запущен тестовый клиент WCF, и это происходит только потому, что в разделе свойств отладки окна свойств проекта параметры запуска по умолчанию имеют следующие значения: /client:"WcfTestClient.exe "
Благодарим вас за полезный ответ. Можете ли вы рассказать мне, как я могу заставить веб-проект распространять услугу с использованием конечной точки WS? Если я попытаюсь это сделать, он все равно укажет на основной адрес, и я получаю ошибку SOAM mistmatch (1.1 вместо 1.2) – Raffaeu