Вопрос конфигурации конфигурации WCF в отношении <baseAddresses>

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

ех.

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

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

Спасибо, Kyle

Ответ 1

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

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

Ответ 2

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

Ответ 3

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

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