Как опубликовать sh WCF сервис на IIS 7 - PullRequest
1 голос
/ 19 января 2020

Я разработал и опубликовал (через функцию "publi sh" в VS 2013) простой веб-сервис WCF на IIS на моей локальной машине. Физический путь развертывания - это папка: c: \ inetpub \ wwwroot \ MyWCF_Service_On_IIS \ В IIS я увидел, что виртуальная папка была создана в «веб-сайте по умолчанию» (с тем же именем: MyWCF_Service_On_IIS). Веб-сайт по умолчанию прослушивает порт 80. Почему нет доступа к сервису? любая комбинация путей и URL терпит неудачу. Я попытался:

localhost / MyWCF_Service_On_IIS / Service1.sv c (Service1.sv c - это файл .sv c, содержащий единственную конечную точку);

localhost / Service1. sv c

127.0.0.1 / MyWCF_Service_On_IIS / Service1.sv c

127.0.0.1 / Service1.sv c

localhost

127.0.0.1

Даже если я не предоставляю конечные точки метаданных, я ожидаю увидеть хотя бы страницу справки о службе и о том, как получить метаданные самим. Но только ошибки Я хотел бы раз и навсегда узнать, какое правило IIS использует для сопоставления виртуальных папок с физическими папками.

1 Ответ

0 голосов
/ 20 января 2020

Мы должны непосредственно развернуть все связанные файлы / каталоги файлов в папке root веб-сайта в режиме FileSystem.

C: \ inetpub \ wwwroot

Кроме того, нам необходимо включить функции windows для обработки расширения SVC для поддержки службы WCF.
enter image description here
В этом случае нет необходимости использовать виртуальную папку. Вот содержимое папки wwwroot на моей стороне.

папка bin
PrecompiledApp.config
Service.sv c
Web.config

URL-адрес службы: http://localhost/service.svc
Если мы укажем URL-адрес с помощью виртуального пути. Мы должны преобразовать виртуальный путь к приложению.
enter image description here
Тогда URL службы будет http://localhost/MyWCF/Service1.svc.
Не стесняйтесь сообщить мне, если проблема все еще существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...