在学习时WCF,有几个WCF地址的问题始终没有解决,我习惯用IIS作主机,设定服务器地址为10.1.1.1,服务器主机名为HOST1,但是始终就没有解决WCF地址相关问题,欢迎大家切磋学习。
如果采用TCP作为传输协议,在不采用端口共享的情况下,会选择一个未被使用的端口作为最终监听地址的端口一确保地址的***性,如果采用TCP作为传输协议,同时采用端口共享情况下,会添加一个GUID作为后缀以确保地址的***性 ,对于非TCP作为传输协议,会添加一个GUID作为后缀以确保地址的***性。#t#
在ServiceEndpoint中,定义了一个ListenUriMode属性,用于指定终结点的ListenUriMode。在服务器本机访问http://localhost/WCF/Service.svc,WCF地址可以出现帮助页面,提示我用
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服务?
WCF地址服务和客户端都用主机的IP肯定没问题
1、服务和客户端都用主机的域名时,客户端要能解析这个域名才行,即客户端计算机需加入相应的DNS服务器地址。
2、服务用域名、客户端用主机的IP,按理说可以,但是试了N次,得出结论:不行。