如何在不使用添加 Web 引用的情况下在 asp.net 中以编程方式调用 Web 服务? 我的 Web 服务 URL 经常发生变化。因此,我需要在运行时捕获 URL 并显示结果。 请给予建议。
如何在不使用添加 Web 引用的情况下在 asp.net 中以编程方式调用 Web 服务? 我的 Web 服务 URL 经常发生变化。因此,我需要在运行时捕获 URL 并显示结果。 请给予建议。
在运行时,您可以更改Web引用的URL(前提是新地址托管与您最初用于创建引用的相同模式的服务):
MyWebService ms = new MyWebService();
ms.Url = "http://example.com/webservice.asmx";
ms.MyWebMethod();
使用Web引用绝对是一个不错的选择 - 虽然由Web引用创建的类通常非常重,但所有这些强类型都值得你去尝试。
wsdl /out:myProxyClass.cs http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL
(wsdl还有其他可用的开关。例如,要生成VB类,需要添加/ language:VB开关)
生成代理类后,您可以轻松地在代码中使用。
MyProxyClass objService = new MyProxyClass();
DateTime time = objService.GetServerTime(); //Suppose service has method getServerTime
web.config
文件中设置。