【问题标题】:ASP.NET Web Service returning Bad Request in Windows AzureASP.NET Web 服务在 Windows Azure 中返回错误请求
【发布时间】:2012-06-03 16:37:55
【问题描述】:

重新启动 Windows 7 后,我以管理员身份打开 Visual Studio 2010,使用 ASP.NET Web 角色创建 Windows Azure 项目的新项目,然后在 WebRole1 项目中添加 WebService1.asmx 并按 F5(运行)。

Windows Azure 服务启动正常,浏览器完美打开 http://127.0.0.1:8080/WebService1.asmx。但是,当我单击 Invoke 按钮来测试 web 服务方法时,我总是收到 Bad Request - Invalid Hostname,带有 http://127.0.0.1:8081/WebService1.asmx /HelloWorld。

【问题讨论】:

  • 当您在本地环境中运行 Web 服务时,代理是一大问题,请务必禁用该问题,然后尝试是否可行。我被代理问题咬了好几次。此外,ASMX 服务未使用 Azure 进行测试,因此如果您可以使用 WCF,那是最好的解决方案。

标签: web-services azure bad-request


【解决方案1】:

最可能的原因是 ASMX 的 WSDL 文件不支持负载平衡环境,例如 Windows Azure。测试功能依赖于 WSDL。如果您添加 Web/服务参考,您将看到类似的问题。建议升级到 WCF。在 WCF 中,您可以使用 useRequestHeadersForMetadataAddress (http://msdn.microsoft.com/en-us/library/ee816894.aspx) 来解决此问题。如果您需要使用 ASMX,请尝试手动提供正确的 WSDL 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    相关资源
    最近更新 更多