当前位置:  开发笔记 > 后端 > 正文

在查看MyService.svc?wsdl时,WCF不使用计算机名而不是域名

如何解决《在查看MyService.svc?wsdl时,WCF不使用计算机名而不是域名》经验,为你挑选了3个好方法。

我的WCF serice似乎使用的是计算机名而不是域名.当我查看MyService.svc?wsdl链接时,它显示我的计算机名称.

我在哪里可以在web.config中添加我的域名?端点地址,基址还是身份?

注意:我正在使用SSL,所以必须这样做 https://www.example.com/myservice.svc



1> nick_alot..:

在某些情况下,WCF 4.0使用请求标头的新配置选项解决了此问题:

    
        
            
                
                    
                        
                    
                



2> blowdart..:

对于IIS7,不要将其添加到web.config,而是添加到IIS配置文件.

首先编辑您的网站的绑定,以便HTTP协议指定主机名(如果您还没有) - 这将确保它在HTTP下获得正确的名称.

导航到C:\ Windows\System32\inetsrv\config并打开applicationHost.config

寻找网站部分.您将看到类似以下内容的内容


  
    
        
    
    
      
      
      
      
      
      
      
      
    
  
  ....

您可以看到http协议的绑定指定了主机头,但https没有.当您进行Web浏览时,您无法通过HTTPS使用主机标头,但WCF在生成WSDL时仍然使用它 - 如果找不到它,它将回退到计算机名称.

所以你需要做的就是像这样编辑HTTPS绑定

      

将正确的FQDN附加到绑定信息的末尾.重置IIS和WCF应该立即得到它.

IIS已经发布了IIS6解决方案



3> 小智..:

如此链接中所述,WCF使用计算机名称而不是IP地址,无法解析

它解决了我的问题,也许是因为我在同一台主机上有多个网站,而且非常简单.




推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有