【问题标题】:WCF service configuration file question regarding <baseAddresses>关于 <baseAddresses> 的 WCF 服务配置文件问题
【发布时间】:2010-09-08 13:07:58
【问题描述】:

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

例如

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

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

谢谢, 凯尔

【问题讨论】:

    标签: wcf configuration configuration-files


    【解决方案1】:

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

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

    【讨论】:

    • 所以除非指定了 baseAddress,否则相对地址端点将不起作用,即使 baseAddress url 被忽略?
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-04
        • 1970-01-01
        • 2011-03-28
        • 2011-10-02
        • 1970-01-01
        • 2021-11-30
        • 1970-01-01
        相关资源
        最近更新 更多