Поделиться через


Практическое руководство. Получение доступа к веб-службам в управляемом коде

Обновлен: Ноябрь 2007

Обращение к веб-службам из управляемого кода является прямым процессом. Сначала в проект добавляется веб-ссылка на веб-службу, к которой нужно обратиться. Веб-ссылка создает класс прокси с методами, которые служат как прокси для каждого публикуемого веб-службой метода. Затем добавляется пространство имен для веб-ссылки. Наконец, создается экземпляр класса прокси, после чего можно обращаться к методам этого класса так же, как к методам любых других классов. Дополнительные сведения см. в разделе Модель кода для доступа к веб-службам в управляемом коде.

По умолчанию при добавлении веб-ссылки в класс прокси также добавляются методы для асинхронного доступа к веб-службе. Дополнительные сведения см. в разделе Практическое руководство. Асинхронный доступ к веб-службе в управляемом коде.

Получение доступа к веб-службам в управляемом коде

  1. Создайте приложение, которое должно обращаться к веб-службе. Это может быть другая веб-служба.

  2. Добавьте веб-ссылку на веб-службу, с которой будет взаимодействовать приложение. Подробные инструкции см. в разделе Добавление и удаление веб-ссылок.

  3. Создайте экземпляр прокси-объекта в коде клиента в том месте, где требуется обращение к веб-службе.

  4. Обращайтесь к методам веб-службы так же, как и к любым другим компонентам.

    В приведенном ниже примере кода клиентское приложение (Application1) обращается к веб-службе, на которую указывает имеющаяся в приложении веб-ссылка (Converter), которая содержит класс прокси (Service1) с методом (ConvertTemperature) для вызова веб-службы. Две выделенные жирным шрифтом строки содержат код, необходимый для обращения к веб-службе.

    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());
          }
       }
    }
    

См. также

Основные понятия

Building XML Web Service Clients

Другие ресурсы

Доступ к веб-службам в управляемом коде