我们在出现一些问题的 Windows 2003 服务器上部署了 WCF 服务。配置正在使用wsHttpBinding
,我们正在指定 IP 地址。这些服务由 Windows 服务托管。
当我们启动服务时,大多数情况下它会抓取错误的 IP 地址。有几次它绑定到正确的地址只是为了放弃该绑定并在处理一小会后转到绑定到 NIC 的另一个地址(有 2 个)。
它目前正在使用端口 80(我们已将 IIS 配置为仅通过 绑定到 1 个地址httpcfg
),尽管我们已尝试使用不同的端口获得相同的结果。
当 Windows 服务开始托管 WCF 服务时,属性显示它被绑定到正确的地址;但是,tcpview 显示它确实在侦听错误的地址。
这是设置基本地址的配置部分。绑定的最终是 0.4 而不是 0.9
<services>
<service name="Service.MyService"
behaviorConfiguration="serviceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://xx.xx.xx.9:80/" />
</baseAddresses>
</host>
<endpoint address="MyService"
binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_IMyService"
contract="Service.IMyService" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
- 是否还有其他需要设置的配置?
- 是否有工具可以帮助追踪绑定到错误地址的位置?