网络引用地址:http://topic.csdn.net/u/20080423/15/4bbf1e34-7419-44e2-96d1-dfa29300d2be.html
最近在学WCF,有几个关于地址的问题一直弄不明白。我使用IIS作host,假设服务器地址为10.8.8.8,服务器的主机名为mycoputer,.svc文件的地址在http://localhost/WCF/Service.svc。
在服务器本机访问http://localhost/WCF/Service.svc,可以出现帮助页面,提示我用
svcutil.exe http://mycoputer/WCF/Service.svc?wsdl
引用服务,这在服务器上没问题,它可以识别自己的域名http://mycoputer,但在别的机器上则无法解析http://mycoputer这个域名,因此也无法引用http://mycoputer/WCF/Service.svc?wsdl。后来我设置了httpGeturl属性,将元数据的httpget地址强行设置为http://10.8.8.8/WCF/Service.svc/meta,则在其他机器上可以用http://10.8.8.8/WCF/Service.svc/meta?wsdl引用服务。
但是,操作中的基地址仍然为http://mycoputer/WCF/Service.svc,在其他机器调用服务时会发生异常,我用<host>节添加基地址也不起作用。请问,如何让客户端用ip地址访问WCF服务?
我在测试后发现,可以在IIS中将网站绑定的主机名也填成IP地址,这样既可避免主机域名解析与IP地址不匹配的问题