您的位置:首页 > 编程语言 > ASP

如何动态修改ASP.NET Web服务的URL

2010-11-25 18:59 543 查看
有时,您可能既是 Web 服务提供方,又是 Web 服务使用方。在这种情况下,您或许知道 Web 服务的位置和功能。而在其他情况下,您可能访问由他人提供的 Web 服务。当出现这种情况时,您可能甚至不知道适合目的的 Web 服务实际上是否存在。

Web 引用

  为了简化编码模型,用托管代码编写的应用程序使用 Web 引用在本地表示每个 Web 服务。通过使用“添加 Web 引用”对话框,将 Web 引用添加到项目。该对话框使您能够浏览您的本地服务器、Microsoft UDDI 目录和整个 Internet。Web 服务提供方在 Web 服务目录中公开其 Web 服务,Web 服务使用方将在该目录中搜索要使用的 Web 服务。有关更多信息,请参见 XML Web services 目录

  “添加 Web 引用”对话框使用 Web 服务发现过程,来查找您在该对话框中浏览到的网站上符合条件的 Web 服务。对于给定的地址,它将使用算法询问网站,该算法用于查找符合 Web 服务描述语言 (WSDL) 语法的 Web 服务说明文档。有关更多信息,请参见 XML Web services 发现XML Web services 说明

  通过使用“添加 Web 引用”对话框找到应用程序要访问的 Web 服务之后,单击“添加引用”按钮指示 Visual Studio 将服务说明下载到本地计算机,然后为所选的 Web 服务生成代理类。代理类将包含同步和异步调用每个公开的 Web 服务方法的方法。该类包含在本地 .wsdl 文件的代码隐藏文件中。有关更多信息,请参见 Visual Studio 中的 Web 引用“添加 Web 引用”对话框

  可以使用 Web 引用 URL 属性来指定 Web 服务的 URL。默认情况下,“添加 Web 引用”将此属性设置为所选 Web 服务的 URL,这是一个静态 URL。Web 引用可以使用静态 URL 或动态 URL。

  如果保留对“URL 行为”所设置的静态默认值,则当创建该代理类的实例时该类会使用硬编码 URL 来设置 URL 属性。

  如果将 Web 引用的“URL 行为”属性设置为动态的,则应用程序在运行时从应用程序配置文件的 appSettings 元素(常规设置架构) 中获得该 URL。如果在添加 Web 引用后指定动态 URL,Visual Studio 将更新代理类以从配置文件中获得 URL。

  

view source

print?

1
<appSettings>
2
<add key=
"myApplication.myServer.Service1"
3
  
value=
"http://myServer/myWebService/Service1.asmx"
/>
4
</appSettings>
  当创建代理对象的实例时,也可以在应用程序中设置该对象的 URL 属性。

  无论代理使用哪种 URL,该 URL 均必须是遵循某 WSDL 的 Web 服务的 URL,而该 WSDL 与添加 Web 引用时所使用的 WSDL 匹配。

  或者,您也可以使用工具(Web 服务描述语言工具)来生成代理类,该工具类似于添加 Web 引用时 Visual Studio 用来创建代理类的工具。当无法从装有 Visual Studio 的计算机上访问 Web 服务时(例如,只有在运行时客户端才能访问 Web 服务所在的网络时),便需要这样做。然后,将工具生成的文件手动添加  到应用程序项目中。有关更多信息,请参见 如何:生成 Web 服务代理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐