基地址的用途是什么...我的意思是基地址是什么意思?如果我省略基地址,那么可能会出现什么问题?。
何时需要基地址?
根据以下配置条目,有两个基地址...为什么需要两个基地址。当人们提供更多的基地址?只看到下面的2个基地址并告诉我为什么人们给出两个基地址为什么不一个......有什么具体的原因吗?
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:1645/ChatServer/"/>
<add baseAddress="http://localhost:1648/ChatServer/"/>
</baseAddresses>
</host>
答案 0 :(得分:26)
一个基地址(每个“方案”一个 - 例如一个用于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
文件的位置确实决定了该服务的“基地址”,例如在这种情况下拥有基地址并没有真正产生任何影响/根本没有帮助。