gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 16:52:03 24 4
gpt4 key购买 nike

我正在使用示例代码从此站点动态调用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com