我做了一个WCF服务部署在服务器上,映射到外网,外网客户端引用服务时,元数据地址的主机名总是服务器的计算机名,由于客户端在服务器的外网,所以客户端是无法识别服务器的计算机名的。
如我的发布的服务地址是:http://外网地址:端口号/服务名.svc。元数据地址会自动解析为:http://计算机名:端口号/服务名.svc?wsdl【具体原因还不知道,如果有人知道的话麻烦留言指教】。
我试过修改IIS设置,但仍无效【如果有牛人知道是由于IIS配置的问题,也请留言教我怎么配】。
解决办法为在客户端添加服务器计算机名的映射,具体操作如下:
找到C:\Windows\System32\drivers\etc\hosts文件,记事本打开,添加映射,如下图: