如何设置导入位置以使用客户端请求的相同主机(http标头)

时间:2012-07-02 16:07:37

标签: wcf wsdl

我想部署WCF Web服务,但要完美,必须从任何计算机,LAN和WAN访问WSDL。

问题是当使用本地局域网时,通过公共IP访问的WAN用户无法下载引用(导入),因为WDSL使用URL中的本地IP。

所以,这是非常令人沮丧的,因为正确的方法是WSDL生成器使用“主机”HTTP头来包含,以便在任何情况下工作(本地局域网IP,公共IP),因为这是客户端看到的方式资源

这可能吗?

1 个答案:

答案 0 :(得分:0)

如果从版本3.5开始为WCF将httpGetUrl元素的serviceMetadata属性设置为documented here,则可以控制WCF服务在WSDL中发布的URL。如果您设置绝对地址以使用DNS注册的主机名,那么您的所有客户端都可以访问它。

在某些情况下(例如负载均衡的服务器),您可能还需要set the useRequestHeadersForMetadataAddress attribute这是WCF 4.0及更高版本的功能。