Вопрос о файле конфигурации службы WCF относительно ‹baseAddresses›

Из того, что я видел, тег игнорируется при размещении службы WCF в IIS. Я понимаю, что при самостоятельном размещении это требуется, но вредно ли это или даже используется при работе под IIS?

ex.

<system.serviceModel>
  <service blah blah blah>
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost/blah" />
      </baseAddresses>
    </host>
   </service>
</system.serviceModel>

Из того, что я видел, вы можете взять файл конфигурации, описывающий службу с одной машины, и использовать его на совершенно другой машине, и он отлично работает. Похоже, что IIS полностью игнорирует этот раздел.

Спасибо кайл


person Kyle    schedule 11.09.2008    source источник


Ответы (3)


Как вы уже догадались, элемент baseAddresses полностью игнорируется при размещении в IIS. Базовый адрес службы определяется веб-сайтом и виртуальным каталогом, в котором размещена ваша служба wcf.

Даже при самостоятельном размещении baseAddresses не требуется. Это просто удобство, благодаря которому вам не нужно вводить полный адрес для каждой конечной точки. Если он присутствует, конечные точки могут иметь относительные адреса (то есть относительно базового адреса).

person Paul Lalonde    schedule 11.09.2008
comment
Значит, конечные точки относительного адреса не будут работать, если не указан baseAddress, даже если URL-адрес baseAddress игнорируется? - person codeulike; 16.08.2011

базовый адрес, необходимый для самостоятельного хостинга. Хосты IIS / WAS игнорируют базовый адрес.

person 0cool    schedule 21.10.2011

Согласно документации MSDN Microsoft в приведенной ниже ссылке, в середине страницы в разделе «Примечание» говорится: «Службы, размещенные в Internet Information Services (IIS) или Windows Process Activation Service (WAS), используют виртуальный каталог в качестве своего базового адреса».

http://msdn.microsoft.com/en-us/library/ee358768(v=vs.110).aspx

person CodeCowboyOrg    schedule 16.12.2013