c# - 在运行时动态调用 Web 服务

标签 c# .net web-services dynamic asmx

我正在使用示例代码从此站点动态调用 Web 服务: http://www.crowsprogramming.com/archives/66

我面临的问题是当我使用类从 Web 应用程序调用 Web 服务时出现以下错误:“找不到远程主机”并且错误发生在以下代码行: if (!ServiceDescription.CanRead(xmlreader))

但是如果我使用 Windows 应用程序中的相同代码连接到 Web 服务: http://www.w3schools.com/webservices/tempconvert.asmx?WSDL

它工作正常。我不确定如何解决这个问题。有没有其他人遇到同样的问题并能够解决它,然后会感谢一些正确方向的指示。

最佳答案

上面的代码需要多一点:

ServiceDescription serviceDescription;
using (WebClient client = new WebClient {Proxy = new WebProxy(host, port)})
{
    using (Stream stream = client.OpenRead(webserviceUri))
    {
        using (XmlReader xmlreader = XmlReader.Create(stream))
        {
            serviceDescription = ServiceDescription.Read(xmlreader);
        }
    }
}

WebClientStreamXmlReader 都实现了 IDisposable,因此应该在 中创建using block ,当它们的使用仅在局部范围内时。此外,new XmlTextReader() 自 .NET 2.0 以来已被弃用,应替换为 XmlReader.Create

(CW 的回答是因为它实际上只是一个格式化的评论)

关于c# - 在运行时动态调用 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3581451/

相关文章:

c# - 为什么 System.Random 连续多次给出 '1',然后一段时间没有,然后又一次?

iphone - 为使用 REST 服务的应用程序创建帐户的安全/最佳实践?

web-services - 是否有类似于亚马逊 AWS 的可扩展电子邮件服务用于存储?

asp.net - 如何使用 ASP.NET Web 服务后端对 AngularJS 进行单元测试

c# - 通用接口(interface)在 C# 中不起作用的问题

c# - 打开SQL连接时算术溢出异常

c# - 如何将 .NET 位图传递给 native DLL?

c# - 在 Xamarin Forms 中使用 Children.Add 时出错

c# - Entity Framework ICollection 创建内表

c# - 如何使用标准 ASP.NET MVC3 网站自定义 404 和 500 错误页面?