Visual Studio 中的 Web 引用
更新:2007 年 11 月
为简化 XML Web services 客户端应用程序的开发过程,Visual Studio 提供了 Web 引用。Web 引用与传统的引用和组件不同;Web 引用不引用安装在本地计算机上的组件或类库,而是提供对特定资源的访问,这种资源是通过 Internet 协议(如 SOAP 或 HTTP)提供的。
实际上,Web 引用是一个生成的代理类,它在本地表示 XML Web services 所公开的功能。该代理类定义的方法表示 XML Web services 所公开的实际方法。应用程序如果创建了该代理类的一个实例,就可以调用 XML Web services 方法,就好像 XML Web services 是一个本地可用的组件一样。有关创建 Web 引用的说明,请参见 如何:添加和移除 Web 引用。
说明: |
---|
若要使 Web 浏览器可以使用防火墙外的 XML Web services,则在 Visual Studio 中创建 Web 引用时,必须显式指定网络代理服务器的地址和端口。 |
生成的代理类的编程语言与该代理类所表示的 Web 服务的编程语言相同。如果您独立于 Visual Studio 创建代理类(例如,通过使用 .NET Framework 工具),则编程语言取决于使用的工具。例如,如果使用 WSDL.exe,则在命令行上将编程语言指定为 C# 或 Visual Basic。如果使用 SProxy.exe,则编程语言是 Visual C++。有关更多信息,请参见 Web 服务描述语言工具 (Wsdl.exe)。
在设计时,该代理类允许使用 XML Web services 方法的语句结束。在运行时,对代理对象方法的调用作为 SOAP 请求消息被处理和编码。如果 XML Web services 不支持 SOAP,则该代理类使用 HTTP GET 和 HTTP POST。然后,消息被发送到目标 Web 服务进行处理。如果服务说明定义了响应消息,则代理对象处理此消息并将响应返回给应用程序。
管理 Web 引用
可以重命名或修改 Web 引用,如果引用的 Web 服务进行了更改,也可以更新 Web 引用。有关详细信息,请参见如何:重命名项目 Web 引用和如何:更新项目 Web 引用。
“URL 行为”属性
项目中的每一 Web 引用都与一个代理类进行交互,该代理类用于访问 Web 服务。可以使用 Web 引用 URL 属性来指定 XML Web services 的 URL。在 ASP.NET 1.1 中,Web 引用可以使用静态 URL 或动态 URL。在 ASP.NET 2.0 及更高版本中,Web 引用动态包含 URL。有关更多信息,请参见找到 Web 服务。
当使用**“添加 Web 引用”**对话框在 Visual Studio 中创建 Web 引用时,默认情况下此属性设置为所选 XML Web services 的 URL,它是一个静态 URL。如果不更改对 URL 行为所设置的静态默认值,则在创建该代理类的实例时,该类会使用硬编码 URL 来设置 URL 属性。
如果将 Web 引用的 URL 行为设置为动态的,则应用程序则会在运行时从应用程序配置文件的 appSettings 元素中获取该 URL。
请参见
任务
演练:在 Visual Web Developer 中创建和使用 ASP.NET Web 服务