我在 IIS 上创建了一个网站 192.168.0.163,并在上面发布了一个 wcf 服务应用程序,我可以通过主机名hostname:port/Service.svc?wsdl
和 IP 地址192.168.0.163:port/Service.svc?wsdl
获取服务的 wsdl,但hostname.domain.com:port/Service.svc?wsdl
在同一域中的另一台计算机上不起作用。
在wsdl的末尾,我发现服务地址是ws://hostname.domain.com:port/Service.svc
。
在客户端中,我添加了vs2015的服务引用,app.config
服务地址也是ws://hostname.domain.com:port/Service.svc
,我只能从IIS停留的本地计算机连接到服务,从另一台计算机调用会导致异常:
远程终结点请求的确认地址为 与应用程序消息的地址不同。频道 无法打开,因为不支持此功能。确保端点 用于创建频道的地址与远程地址相同 终结点已设置。
如果我将地址更改为hostname:port/Service.svc
或192.168.0.163:port/Service.svc
,那么我错误地从两台计算机访问服务,并出现相同的错误。
关闭防火墙无法解决问题。
如何做到这一点?
在 IIS 绑定中添加主机名后解决。