wcf - 名称解析失败,Windows Azure

标签 wcf azure

我使用 WCF 服务在 Windows Azure 上创建了一个站点。当我引用它并尝试调用它时,出现此错误:

未处理的异常:System.Net.WebException:错误:NameResolutionFailure 在 System.Net.HttpWebRequest.EndGetRequestStream (IAsyncResult asyncResult) [0x00000] 中:0 在 System.Net.HttpWebRequest.GetRequestStream () [0x00000] 中:0 在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (System.String method_name, System.Object[] 参数) [0x00000] 中:0

我的 Web 服务解析为主机名而不是 IP 地址。在 Windows Azure 中,我需要添加特殊设置才能使用 Web 服务吗?

最佳答案

根据您提供的信息,您似乎在 Windows Azure 中运行了一个 WCF Web 角色,当您尝试访问它时会出现错误。

当您在 Windows Azure 中托管 WCF 站点时,您将拥有如下服务 URL: http://your_service_name.cloudapp.net/servicename/methodname

您还需要在 WCF 服务中进行适当的绑定(bind),以便可以从任何客户端访问它。这是大多数问题发生的地方,因为错误或错误的绑定(bind)会导致服务中断,导致无人可以连接。您还可以验证 WCF 服务在从浏览器访问时是否返回正确的 WSDL 信息。这是一个检查服务引用 URL 的测试。你验证过那部分吗?

当您尝试在客户端应用程序中引用它时,您将使用上面的引用 URL,其中将列出其中内置的函数,您可以使用它。对于 Windows Azure,您的服务必须解析为主机名(不是 IP 地址,因为它是 VIP,因此可能会更改),因此它是正确的。

如果您可以从服务获取 WSDL,但仍然无法获取引用,那么您仍然可以尝试通过绑定(bind)端点 URL(在 Azure 上)直接在代码中使用该服务,然后使用绑定(bind)和端点创建 channel 。

关于wcf - 名称解析失败,Windows Azure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12123725/

相关文章:

wcf - 已超出传入消息的最大消息大小配额(明显修复无济于事)

c# - 连接 WCF 服务时遇到问题

c# - xsd.exe - 类的架构 - 用于 WCF

xml - XmlDictionaryReader 真的可以处理二进制 XML 吗?如果不是,那是什么?

api - 如何限制每个用户或组对 Azure API 管理 (APIM) 中的操作的使用

azure - Microsoft Azure EventHub 中的事件保留

azure - 在 Azure 中管理环境特定应用程序设置的最佳方法是什么?

azure - 构建在本地工作但在 Azure 中失败

wcf - 如何将 bool 参数传递给一个安静的服务?

Azure 网站 DNS