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

Nat*_*han 5 wcf

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

127.0.0.1       fake.domain
Run Code Online (Sandbox Code Playgroud)

以及我可能拥有的用户接受环境

192.45.34.31    fake.domain
Run Code Online (Sandbox Code Playgroud)

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

<endpoint address="http://fake.domain/someServiceBase/SomeService.svc" ... />
Run Code Online (Sandbox Code Playgroud)

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

为什么WCF会忽略hosts文件?

编辑: 附加注释,如果我替换端点地址以直接在配置文件中使用实际IP地址,例如,

<endpoint address="http://127.0.0.1/someServiceBase/SomeService.svc" ... />
Run Code Online (Sandbox Code Playgroud)

Set*_*eth 2

\n

为什么WCF忽略hosts文件?

\n
\n\n

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

\n\n

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

\n\n
\n

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

\n
\n