【发布时间】:2010-09-14 07:23:42
【问题描述】:
我们在 Windows 2003 服务器上部署了 WCF 服务,该服务出现了一些问题。配置使用wsHttpBinding,我们正在指定IP地址。这些服务由 Windows 服务托管。
当我们启动服务时,大多数情况下它会抓取错误的 IP 地址。有几次它绑定到正确的地址只是为了丢弃该绑定并在处理一小会后转到绑定到 NIC 的另一个地址(有 2 个)。
它当前使用端口 80(我们已将 IIS 配置为通过 httpcfg 仅绑定到 1 个地址),尽管我们已尝试使用不同的端口并获得相同的结果。
当 Windows 服务开始托管 WCF 服务时,属性显示它正在绑定到正确的地址;但是,tcpview 显示它确实在侦听错误的地址。
这是设置 baseAddress 的配置部分。绑定的最终是 .4 而不是 .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>
- 是否需要设置其他配置?
- 是否有工具可以帮助追踪绑定到错误地址的位置?
【问题讨论】: