基址(每一個「計劃」 - 例如,一個用於http
,一個用於net.tcp
等)可以定義你的地址的「基地」 - 如果你打算指定多個端點這是真的很有幫助。
一個基地址是從不需要 - 這是一個可選項,它可以幫助您簡化您的生活。
擁有一個基地址可以僅指定每個實際服務地址不同的「相對」部分。
想象一下,你想有三個服務端點 - 要麼你可以單獨定義所有的,完全在一個配置是這樣的:
<service name="Test1">
<endpoint name="endpoint1"
address="http://yourserver/yourservices/test1/service1" ..... />
<endpoint name="endpoint2"
address="http://yourserver/yourservices/test1/service2" ..... />
<endpoint name="endpoint3"
address="http://yourserver/yourservices/test1/service3" ..... />
</service>
,或者您可以通過指定基本定義公用部分地址,然後有更容易閱讀「相對」地址:
<service name="Test1">
<host>
<baseAddresses>
<add baseAddress="http://yourserver/yourservices/test1/"/>
</baseAddresses>
</host>
<endpoint name="endpoint1"
address="service1" ..... />
<endpoint name="endpoint2"
address="service2" ..... />
<endpoint name="endpoint3"
address="service3" ..... />
</service>
因此,使用基址可以更容易地指定多個端點 - 它可以爲您節省一些打字。
另請注意,基址只有在您的WCF服務爲自託管時纔有用。如果您使用IIS來託管您的WCF服務,那麼*.svc
文件的位置確實指示該服務的「基地址」,例如,在這種情況下有一個基地址並沒有真正的區別/完全沒有幫助。
對我來說,這看起來是一個很好的問題,這當然是我現在試圖找到答案的事情,而且這是一個有效問題,這一點可以從以下marc_s答案的質量中得到證明。 –