18

据我所见,在 IIS 中托管 WCF 服务时会忽略该标记。我知道在自托管时这是必需的,但在 IIS 下运行时这是否有害甚至使用?

前任。

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

从我所见,您可以从一台机器上获取描述服务的配置文件,然后在完全不同的机器上使用它,它工作正常。看起来 IIS 似乎完全忽略了这一部分。

谢谢,凯尔

4

3 回答 3

34

正如您已经猜到的,在 IIS 中托管时,baseAddresses 元素会被完全忽略。服务的基地址由放置 wcf 服务的网站和虚拟目录决定。

即使在自托管时,也不需要 baseAddresses。这只是一种方便,避免您必须为每个端点输入完整地址。如果存在,端点可以具有相对地址(即相对于基地址)。

于 2008-09-11T11:21:15.870 回答
2

自托管所需的基地址。IIS/WAS 主机忽略基地址。

于 2011-10-21T08:24:49.373 回答
2

根据以下链接中的 MSDN Microsoft 文档,在注释部分的页面中间状态,“托管在 Internet 信息服务 (IIS) 或 Windows 进程激活服务 (WAS) 下的服务使用虚拟目录作为它们的基地址。”

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

于 2013-12-16T20:47:23.630 回答