更新:2007 年 11 月
从托管代码访问 Web 服务是一个简单的过程。首先,将 Web 引用添加到要访问的 Web 服务的项目中。Web 引用创建具有方法的代理类,这些方法用作 Web 服务的每个公开方法的代理。然后,添加该 Web 引用的命名空间。最后,创建该代理类的实例,并访问该类的方法,就像访问任何其他类的方法一样。有关更多信息,请参见 在托管代码中访问 Web 服务的代码模型。
默认情况下,添加 Web 引用同时会将方法添加到代理类,用来异步访问 Web 服务。有关更多信息,请参见 如何:异步访问托管代码中的 Web 服务。
使用托管代码访问 Web 服务
- 创建要从其中访问 Web 服务的应用程序。该应用程序甚至可以是另一个 Web 服务。 
- 为将要与应用程序交互的 Web 服务添加一个 Web 引用。有关说明,请参见添加和移除 Web 引用。 
- 在要从其中访问 Web 服务的客户端代码中创建代理对象的实例。 
- 访问该 Web 服务的方法,就像访问任何其他组件的方法一样。 - 在下面的示例代码中,客户端应用程序 (Application1) 正在访问一个 Web 服务,此应用程序具有一个对该 Web 服务的 Web 引用 (Converter),该引用包含代理类 (Service1),而此代理类具有调用该 Web 服务的方法 (ConvertTemperature)。两行粗体代码表示访问该 Web 服务所必需的代码。 - Imports System Module Module1 Sub Main() Dim cService As New Converter.Service1() Dim dFahrenheit As Double Dim dCelsius As Double Console.Write("Temperature in degrees Fahrenheit: ") dFahrenheit = Convert.ToDouble(Console.ReadLine()) dCelsius = cService.ConvertTemperature(dFahrenheit) Console.Write("Temperature in degrees Celsius: ") Console.WriteLine(dCelsius.ToString()) End Sub End Module- using System; namespace Application1 { class Class1 { static void Main() { Converter.Service1 cService = new Converter.Service1(); Console.WriteLine("Temperature in degrees Fahrenheit: "); double dFahrenheit = Convert.ToDouble(Console.ReadLine()); double dCelsius = cService.ConvertTemperature(dFahrenheit); Console.Write("Temperature in degrees Celsius: "); Console.WriteLine(dCelsius.ToString()); } } }