Адрес - это просто строка, описывающая «местоположение», где служба предоставляет свои услуги или клиент подключается к ней. По умолчанию он не имеет прямой связи с чем-либо «физическим», например это не относится к файлу или чему-либо.
В случае размещения вашего сервиса в IIS, первая часть вашего адреса сразу после машины и порта на самом деле является именем виртуального каталога IIS, в котором расположен ваш файл * .svc.
В случае MSMQ адрес вашей службы должен соответствовать имени очереди MSMQ (или наоборот).
Кроме тех случаев - адрес действительно просто способ описать, где найти конкретную услугу.
Первая часть http://, https://, net.tcp: // и т. Д. Обычно называется "схемой" и слабо ссылается на транспортный протокол, используемый для подключения вашего клиента к службе.
Вторая часть, как правило, представляет собой имя машины, необязательно с номером порта. Конечно, эта часть связана с физическим объектом - ваша машина должна существовать, номер порта должен быть доступен и использоваться.
Но третья часть, которую вы назвали «путем» к службе, действительно может быть любой, какой вы захотите, если вы сами размещаете свою службу (например, в консольном приложении или службе Windows NT). Если вы используете хостинг самостоятельно, путь не имеет абсолютно никакого отношения к какому-либо физическому пути на диске, виртуальному каталогу или другому.
Хост службы - фрагмент кода, который фактически будет размещать и запускать ваш класс обслуживания, который является просто обычным классом .NET - будет выставлять / публиковать любое количество конечных точек с адресом, привязкой и контрактом. Следовательно, хост службы определяет, какие URI действительны для его служб. Затем клиент (ы) должен подключиться к одной из опубликованных конечных точек, указав один и тот же адрес - схему (http://, https://, net.tcp: //), имя компьютера и, при необходимости, порт, а также путь к службе.
Марк