2008-09-11 12 views
18

Из того, что я видел, тег игнорируется при размещении службы WCF в IIS. Я понимаю, что при самообслуживании это необходимо, но это вредно или даже используется при работе в IIS?Вопрос конфигурации конфигурации WCF в отношении <baseAddresses>

ex.

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

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

Спасибо, Kyle

ответ

34

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

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

+3

Так относительные адреса конечных точек не будет работать, если не указан BaseAddress, даже если BaseAddress URL игнорируется? – codeulike 2011-08-16 11:41:24

2

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

2

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

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