WCF 的一个常见问题似乎是如何在 wsdl 中解析主机名以获取到其他文件的链接。问题是计算机的机器名称被放入 wsdl 以链接其他 wsdl 文件,因此如果您访问http://myhost/service.svc它可能指向另一个位置上的其余 wsdl,即http ://mypc/service.svc?wsdl这显然是您在外部看不到的东西。
已经有一些解决方案,这是常见的解决方案。您可以在哪里设置主机标头。
我的问题是,使用外部 IP 时如何解决这个问题。我正在从他们的网站连接到客户总部以检索数据,它没有使用 dns 等设置,并且 ip 在内部重新路由到机器。有没有办法强制托管 WCF 的机器在 wsdl 文件中显示外部地址而不是机器名称?
我正在使用 SSL 进行连接,这可能会有所不同(与主机头一样)。