从托管代码访问 XML Web services 是一个简单的过程。首先,将 Web 引用添加到要访问的 XML Web services 的项目中。Web 引用创建具有方法的代理类,这些方法用作 XML Web services 的每个公开方法的代理。然后,添加该 Web 引用的命名空间。最后,创建该代理类的实例,并访问该类的方法,就像访问任何其他类的方法一样。有关更多信息,请参见用于访问托管代码中的 XML Web services 的代码模型。
默认情况下,添加 Web 引用同时会将方法添加到代理类用来异步访问 XML Web services。有关更多信息,请参见异步访问托管代码中的 XML Web services。
访问托管代码中的 XML Web services
- 创建要从其中访问 XML Web services 的应用程序。该应用程序甚至可以是另一个 XML Web services。
- 为应用程序将与之交互的 XML Web services 添加 Web 引用。有关说明,请参见添加和移除 Web 引用。
- 在要从其中访问 XML Web services 的客户端代码中创建代理对象的实例。
- 访问该 XML Web services 的方法,就像访问任何其他组件的方法一样。
在下面的示例代码中,客户端应用程序 (Application1) 正在访问一个 XML Web services,该应用程序具有一个对该 XML Web services 的 Web 引用 (ConversionService),该引用包含代理类 (Service1),而该代理类具有调用该 XML Web services 的方法 (ConvertTemperature)。两行粗体代码表示访问该 XML Web services 所必需的代码。
' Visual Basic 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 // C# 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()); } } }

