【问题标题】:Specify a single address for a self-hosted WCF service为自承载 WCF 服务指定单个地址
【发布时间】:2014-08-26 01:39:15
【问题描述】:

我编写了一个自托管 WCF 服务,该服务需要在具有多个地址的机器上的一个特定地址上运行。为此,我编写了配置,以便在端点中指定要使用的地址:

<endpoint address="http://A.B.C.D:8000/MyService" binding="webHttpBinding" name="MyServiceEndpoint" behaviorConfiguration="MyServiceBehavior" contract="IMyServiceInterface" />

当我运行这个应用程序并启动服务时,它在所有地址而不是指定的地址上运行。我尝试将地址移动到 baseAddress 字段并将端点地址留空,但得到了完全相同的结果。我错过了什么?

【问题讨论】:

    标签: c# wcf wcf-binding


    【解决方案1】:

    好的,对于碰巧遇到此问题的任何其他人,这与服务配置无关,而与绑定配置有关。

    webHttpBinding 绑定有一个hostNameComparisonMode 属性,默认为StrongWildcard

    这意味着 http 服务会忽略主机名并响应任何主机名。作为副作用,它在机器上所有开放的地址上运行。

    如果此值更改为 Exact,则它使用在端点或基地址中指定的主机名或 IP 地址。

    【讨论】:

      猜你喜欢
      • 2013-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      • 1970-01-01
      • 2012-01-28
      • 1970-01-01
      相关资源
      最近更新 更多