【问题标题】:Why do WCF endpoints ignore the hosts file?为什么 WCF 端点会忽略主机文件?
【发布时间】:2010-01-13 21:04:53
【问题描述】:

我在配置文件中使用“假”域名定义了端点。这样做的目的是使部署更容易,因为我们不需要修改配置文件,而是简单地在环境的主机文件中设置“假”域名的 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" ... />

【问题讨论】:

    标签: wcf


    【解决方案1】:

    为什么 WCF 会忽略 hosts 文件?

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

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

    Windows Communication Foundation 通道基础结构围绕物理地址展开,因为它负责在特定位置使用特定传输协议接收传入消息。另一方面,Windows Communication Foundation 调度程序不受此类网络细节的影响,而是专注于将传入消息映射到端点,并最终映射到方法调用。

    【讨论】:

    • 除非 WCF 本身进行这种重定向,否则不会。所涉及的服务不做任何重定向。另外,如果我用实际的 IP 地址替换端点地址,一切正常。
    猜你喜欢
    • 2017-04-16
    • 2018-12-17
    • 2016-02-16
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    • 2020-12-10
    • 2015-04-20
    • 2014-06-15
    相关资源
    最近更新 更多