2008-09-11 111 views
18

從我所看到的標記在IIS中託管WCF服務時被忽略。我明白,當這種自我託管是必需的,但這是有害的,甚至在IIS下運行時使用?有關<baseAddresses>的WCF服務配置文件問題

ex。

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

從我所看到,你可以從一臺機器需要說明的服務的配置文件,並使用一個完全不同的機器上,它工作正常。它看起來好像IIS完全忽略了這一節。

感謝, 凱爾

回答

34

正如你已經猜到了,baseAddresses元件完全在IIS託管時忽略。該服務的基地址由網站&確定您的wcf服務所在的虛擬目錄。

即使在自託管時,baseAddresses也不是必需的。這只是一種方便,可避免您必須爲每個端點輸入完整地址。如果它存在,端點可以有相對地址(相對於基地址,也就是說)。

+3

所以相對地址端點不會工作,除非指定baseAddress是,即使baseAddress URL被忽略? – codeulike 2011-08-16 11:41:24

2

自託管所需的基地址。 IIS/WAS主機忽略基地址。