为什么WCF端点忽略hosts文件?

时间:2010-01-13 21:04:54

标签: wcf

我在配置文件中定义了带有“假”域名的端点。我们的想法是,这样可以简化部署,因为我们只需在环境的hosts文件中设置“假”域名的IP地址,而不是修改配置文件。例如,在我的本地开发框中,我将在主机文件中有一个条目

127.0.0.1       fake.domain

并且在用户接受环境中我可能有

192.45.34.31    fake.domain

但在我的配置文件中,我只有端点

<endpoint address="http://fake.domain/someServiceBase/SomeService.svc" ... />

但是,WCF似乎完全忽略了hosts文件。我可以将地址复制到浏览器中,然后它就会出现,但是WCF客户端(位于本地开发盒上)会出现“找不到主机”错误。

为什么WCF会忽略hosts文件?

修改 另外请注意,如果我将端点地址替换为直接在配置文件中使用实际的IP地址,例如

,一切正常
<endpoint address="http://127.0.0.1/someServiceBase/SomeService.svc" ... />

1 个答案:

答案 0 :(得分:2)

  

为什么WCF会忽略hosts文件?

嗯,我怀疑它不是。我猜你的客户端正在建立连接,但被服务重定向。

有一篇文章here详细介绍了端点:

  

Windows Communication Foundation频道基础架构围绕物理地址,因为它负责使用特定位置的特定传输协议接收传入消息。另一方面,Windows Communication Foundation调度程序屏蔽了此类网络详细信息,而是专注于将传入消息映射到端点,最终映射到方法调用。