Как настроить Visual Studio для просмотра URL-адреса net.tcp в локальном IIS?
У меня есть сервис WCF, использующий netTcpBinding
и никакой другой привязки. Это прекрасно работает, когда я вручную развертываю файлы в IIS, и мое клиентское приложение может использовать сервис, когда я вхожу в net.tcp://localhost(etc)
URL-адрес. Сейчас я пытаюсь запустить проект в Visual Studio, чтобы у меня была возможность использовать службу и клиента в одном решении, и ссылаться на службу напрямую, а не через IIS и необходимость повторного развертывания файлов вручную.
Ни IIS Express, ни Visual Studio Development Server не могут использовать net.tcp, поэтому они отсутствуют. На вкладке "Интернет" моего сервисного проекта "Использовать локальный веб-сервер IIS" или "Использовать настраиваемый веб-сервер" выглядели хорошими вариантами, но ни один из них не примет URL, который не начинается с http.
Есть ли какой-нибудь способ заставить мою службу WCF использовать IIS, и чтобы мой клиент ссылался на службу напрямую (чтобы мне не приходилось развертывать файлы в IIS, а затем обновлять ссылку на службу при каждой компиляции)?
2 ответа
Запустите службу в WcfSvcHost, затем попробуйте добавить ссылку на размещенный URL-адрес.
К сожалению, в VS IDE нет техники для автоматического запуска служб, кроме случаев, когда вы отлаживаете.
Кроме того, вам всегда нужно явно обновлять ссылки на сервисы. Вам необходимо решить, какие из ваших изменений готовы быть применены к каким клиентам вашего сервиса. Было бы неправильно предполагать, что все клиенты должны быть обновлены, как только вы внесете изменения, а затем скомпилируете свой сервис.
Вы можете добавить проект, который вы не развертываете, а используете только во время разработки, который самостоятельно размещает службу.