WCF 部署时,soap:address location 显示的是电脑名,而不是ip地址

来源:互联网 发布:资源下载网站源码 编辑:程序博客网 时间:2024/05/29 02:07

我部署WCF服务时,发现soap:address location 和wsdl:import location 显示是电脑名,而不是ip地址,这样外面公司的人就无法下载剩下的wsdl,post也会往错误的地址发。

搜半天,网上居然没有人正确的解决这个问题,msdn上MS公司的人说用external schema location,太糟糕了。

终于搞出来了,应该在web.config里加上  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />

multipleSiteBindingsEnabled="true" 一定要设置成true

试一试true和false很快就能发现差别,

true

soap:address location 和wsdl:import location 显示和url里面的ip或者域名是一致的

false

只显示电脑名。


补充:multipleSiteBindingsEnabled 是。net framework 4里面支持的特性,如果版本低于4,例如3.5 那么就要根据IIS binding来设置baseAddress,具体参见我的另一篇博客

WCF的配置文件的baseAddress的真正含义

http://blog.csdn.net/cjq1234/article/details/9200457