一个基地址(每个“方案”一个 - 例如一个 for http
,一个 fornet.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
文件的位置实际上决定了该服务的“基地址”,例如在这种情况下拥有基地址并没有真正的区别/实际上并没有完全有帮助。