【问题标题】:WCF and IIS confusion on the wsdl locationwsdl 位置上的 WCF 和 IIS 混淆
【发布时间】:2011-04-25 02:12:40
【问题描述】:

我创建了我的 WCF 项目,当我从调试器中运行它时它工作正常。

但是当我将它发布到 IIS 并将浏览器指向 svc 时,使用的路径中包含 localhost。像这样:

htpp://localhost/MyService/MyServices.svc

但是网页说要访问 WSDL 的路径使用我的计算机名称,如下所示:

http://MyComputerName.MyDomain.net/MyService/MyService.svc?wsdl

当我点击链接时,它会超时。 (另外,尝试在 WCFTestClient 中查看类似的服务会超时。)

但是,如果我使用 localhost 访问 wsdl,它会立即生效:

http://lcoalhost/MyService/MyService.svc?wsdl

任何使用我的计算机名称的链接都会超时(“响应时间过长”)。

知道如何让我的 WCF 服务使用计算机名称吗?

(注意:我使用的是 Visual Studio Ultimate 和 IIS 7)

【问题讨论】:

    标签: wcf web-services iis iis-7 hosting


    【解决方案1】:

    尝试将 MyComputerName.MyDomain.net 添加到 Internet Explorer 代理配置设置中的代理绕过列表。检查 IIS 网站的站点绑定中的主机名中是否包含此 FQDN。

    如果您只使用没有域的 MyComputerName 会发生什么?

    【讨论】:

    • 只有 MyComputerName(即没有域)仍然超时。恐怕我对 IIS 非常缺乏经验(这部分通常由我的系统人员完成。但我不想用这个简单的服务打扰他们)。我不知道 FQDN 是什么或如何设置它。我会挖掘如何设置代理的东西,看看我能不能弄明白。
    • 更奇怪的是,我在另一台计算机上尝试了完整的计算机和域 url,它可以很好地启动 wsdl。从我的计算机访问不是比从另一台计算机访问更容易吗?
    • 问题是我的系统人员硬编码了我的 DNS 和 WINS 条目。在故障排除中,我发现我什至无法 ping 我的计算机。一旦我拿出那些硬编码,它就又能正常工作了。
    • Gald 为您提供帮助。但我建议你至少学习一下 IIS 的基础知识如何构建网站或托管 Web 服务。作为开发人员,即使您的系统人员实际进行安装或配置,这种理解也是必不可少的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    相关资源
    最近更新 更多