Подтвердить что ты не робот

Как опубликовать веб-службу из Visual Studio в IIS?

Я написал веб-службу WCF на С#. Сначала я самостоятельно разместил его, а затем решил разместить его в IIS, запущенном на локальном компьютере. Хотя служба работает, есть несколько аспектов процесса развертывания, которые я не понимаю:

Во-первых, URL-адрес этой службы при размещении в IIS не соответствует тому, что я указал в моем web.config. Я указал " http://localhost:8000/MyServices/OrderService", и это было использовано, когда я сам принимал участие. Теперь, когда я развернулся в IIS, URL-адрес стал " http://localhost/MyServices/OrderService". Почему URL-адрес не получен из моего конфигурационного файла?

Во-вторых, для размещения веб-службы я создал новый веб-сайт в IIS (в дополнение к существующему веб-сайту по умолчанию). Я установил физический путь к c:\inetpub\wwwroot (не знаю, если это правильно) и оставил остальные параметры по умолчанию. Затем я скопировал папку my/bin, мой файл .svc и мой web.config в эту папку. Является ли это эквивалентом "Виртуального каталога"?

Наконец, служба не работала, пока (в IIS) я не выбрал "Преобразовать в приложение". Почему необходимо выбрать "Преобразовать в приложение"?

Может ли кто-нибудь объяснить, какая правильная процедура заключается в публикации простого веб-сервиса из Visual Studio в IIS или указать мне хорошую документацию, чтобы я мог понять процесс?

**** ИЗМЕНИТЬ ОРИГИНАЛ ***** Потратив больше времени на это, я нашел следующее:

  • Когда я создаю веб-сайт в IIS, я предоставляю ему физический каталог c:\inetpub\wwwroot.... etc
  • Если я затем "опубликую" из Visual Studio, все, что он делает, копирует все необходимые файлы (например, каталог /bin, файл web.config и .svc) в физический каталог веб-сайта, то есть - c:\Inetpub\Wwwroot...

Вы можете выполнить копию вручную с тем же эффектом.

  • Наконец, что касается URL-адреса моей службы, которая не соответствует разделу baseAddress моего файла web.config, это было в ответ на stackoverflow ранее.

Ответ заключается в том, что baseAddress полностью игнорируется при размещении в IIS.

4b9b3361

Ответ 1

При использовании Visual Studio 2010 вы можете щелкнуть правой кнопкой мыши по проекту для службы и выбрать properties. Затем выберите вкладку Web. В разделе Servers вы можете настроить URL-адрес. Существует также кнопка для создания виртуального каталога.