Пошаговое руководство. Создание веб-службы с помощью Visual Basic или Visual C#

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

Следующее пошаговое руководство описывает процесс создания веб-службы, которая преобразует температуру по шкале Фаренгейта в температуру по шкале Цельсия, с помощью Visual Basic или Visual C#.

При выполнении этого пошагового руководства будут выполнены следующие действия:

  • Создание веб-службы с помощью шаблона проекта веб-службы ASP.NET.

  • Реализация веб-службы.

  • Запуск веб-службу в режиме отладки.

  • Развертывание веб-службы.

Для выполнения данного пошагового руководства необходим доступ к компьютеру, удовлетворяющему требованиям для создания веб-проекта. Дополнительные сведения см. в разделе Пошаговое руководство. Создание и использование веб-службы ASP.NET в Visual Web Developer.

Создание проекта веб-службы

Visual Studio содержит шаблон проекта веб-службы ASP.NET, который помогает создавать веб-службы в Visual Basic и Visual C#.

Чтобы создать проект веб-службы ASP.NET, выполните следующие действия:

  1. В меню Файл выберите команду Создать веб-узел.

  2. В диалоговом окне Создать веб-узел выберите значок Веб-служба ASP.NET.

  3. Введите адрес веб-сервера, на котором будет выполняться разработка веб-службы, и укажите TempConvertClient1 в качестве имени каталога, например "http://MyServer/TempConvertClient1". По умолчанию в проекте используется локальный компьютер: "https://localhost".

    87h5xz7x.alert_note(ru-ru,VS.90).gifПримечание.

    Для некоторых типов проектов поле "Имя" недоступно, так как имя проекта определяется местом разработки. Например, веб-приложения и веб-службы расположены на веб-сервере и их имена являются производными от имени виртуального каталога этого сервера.

    87h5xz7x.alert_note(ru-ru,VS.90).gifПримечание.

    Разработка веб-служб выполняется на сервере разработки. По умолчанию сервером разработки является локальный компьютер. Обычно проект разрабатывается и строится на сервере разработки, а затем развертывается на другом сервере (сервере развертывания), на котором веб-служба размещается с помощью проекта развертывания. Однако если разработка производится непосредственно на сервере, на котором веб-служба будет впоследствии развернута, то под сервером разработки и сервером развертывания подразумевается один и тот же сервер.

  4. Нажмите ОК, чтобы создать проект.

Visual Studio автоматически создаст необходимые файлы и ссылки, необходимые для обеспечения поддержки веб-службы. При создании проекта веб-службы в Visual Studio отображается конструктор компонентов для файла Service1.asmx.

Реализация веб-службы

Следующим шагом является написание кода реализации функциональности веб-службы, к которой будут обращаться клиенты. У веб-служб, созданных с использованием Visual Studio, этот код содержится в файле с выделенным кодом, который связан с ASMX-файлом, созданным Visual Studio. Дополнительные сведения см. в разделе Практическое руководство. Создание метода веб-службы.

Добавление метода веб-службы

  1. В файле Service.vb найдите объявление класса Service. Замените код атрибута System.Web.Services.WebService, стоящего перед объявлением класса, следующим кодом (выделен жирным шрифтом):

    <System.Web.Services.WebService( _
       Namespace:="http://Walkthrough/XmlWebServices/", _
       Description:="A temperature conversion service.")> _
    Public Class Service
    
    [System.Web.Services.WebService(
       Namespace="http://Walkthrough/XmlWebServices/",
       Description="A temperature conversion service.")]
    public class Service : System.Web.Services.WebService
    

    Прикрепление атрибута WebService к классу Public позволяет задать дополнительные сведения о веб-службе: например, пространство имен или описание веб-службы. Свойство-описание из этого атрибута включается в состав справочной страницы службы. Дополнительные сведения см. в разделе Практическое руководство. Использование атрибута WebService.

  2. Для объявления функции ConvertTemperature в классе Service добавьте следующий код:

    <WebMethod(Description:="This method converts a temperature in " & _
           "degrees Fahrenheit to a temperature in degrees Celsius.")> _
    Public Function ConvertTemperature(ByVal dFahrenheit As Double) _
                                       As Double
        Return ((dFahrenheit - 32) * 5) / 9
    End Function
    
    [WebMethod(Description="This method converts a temperature in " +
           "degrees Fahrenheit to a temperature in degrees Celsius.")]
    public double ConvertTemperature(double dFahrenheit)
    {
       return ((dFahrenheit - 32) * 5) / 9;
    } 
    

    Прикрепление атрибута WebMethod к методу Public означает, что этот метод должен публиковаться в составе веб-службы. Свойство-описание этого атрибута включается в состав справочных страниц службы и метода службы. Дополнительные сведения см. в разделе Практическое руководство. Использование атрибута WebMethod.

  3. Щелкните правой кнопкой Service.asmx в окне обозревателя решений и выберите в контекстном меню команду Задать в качестве начальной страницы.

  4. Сохраните решение.

Отладка веб-службы

Среда Visual Studio предлагает несколько способов построения и запуска веб-службы в интегрированной среде разработки, например:

  • Запуск с отладкой

  • Запуск без отладки

  • Просмотр в обозревателе.

Будучи проектом Visual Studio, данная веб-служба имеет отдельные конфигурации для отладочной и выпускной версий. Так как проект был создан с помощью шаблона проекта веб-службы ASP.NET, среда Visual Studio автоматически создала эти конфигурации и задала соответствующие параметры по умолчанию и прочие настройки. Дополнительные сведения см. в разделе Практическое руководство. Настройка конфигураций отладки и выпуска.

В этом пошаговом руководстве в веб-службе будут размещены точки останова и использоваться Запуск (с отладкой). Дополнительные сведения см. в разделе Практическое руководство. Отладка веб-служб в управляемом коде.

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

Использование точки останова и запуск веб-службы с отладкой

  1. В меню Отладка выберите команду Создать точку останова, а затем Прервать в функции.

    На вкладке Функция введите ConvertTemperature в поле Функция и нажмите OK, чтобы разместить точку останова на объявлении метода ConvertTemperature .

  2. В меню Отладка выберите команду Запуск, затем нажмите ОК в окне Отладка не включена, чтобы начать отладку.

    Эта команда указывает приложению Visual Studio, что веб-службу следует запустить в отладчике. Visual Studio выполнит построение проекта и его развертывание на указанном сервере разработки. После завершения развертывания обозреватель по умолчанию отображает ASMX-файл с сервера разработки.

    При открытии ASMX файла в обозревателе веб-служба возвращает справочную страницу, которая содержит сведения о веб-службе. По ссылке Service Description можно перейти к XML-документу, который содержит формальное описание веб-службы. Дополнительные сведения см. в разделе XML Web Service Description.

  3. На справочной странице службы щелкните ссылку ConvertTemperature.

  4. В поле dFahrenheit введите число 212, затем нажмите кнопку Invoke.

    После того как в ходе обработки будет достигнута функция ConvertTemperature, обработка завершится. Отладчик Visual Studio выделит строку, содержащую точку останова; во время остановки отладчика доступен целый ряд различных действий. Дополнительные сведения см. в разделах Путеводитель по отладчику и Просмотр данных в отладчике.

  5. В меню Отладка выберите команду Продолжить, чтобы возобновить обработку.

  6. Отклик веб-службы заключается в возврате преобразованного значения в форме XML-документа, аналогичного следующему:

    <?xml version="1.0" encoding="utf-8" ?>
    <double xmlns="http://Walkthrough/XmlWebServices/">100</double>
    

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

  7. В меню Отладка выберите команду Удалить все точки останова.

Развертывание веб-службы

Чтобы веб-службой могли пользоваться другие пользователи, ее необходимо развернуть на веб-сервере, к которому имеют доступ потенциальные клиенты службы. Чтобы развернуть веб-службу не на сервере разработки, а на каком-либо другом сервере, можно добавить проект веб-установки или скопировать нужные файлы на выбранный сервер. В этом пошаговом руководстве приводится несколько способов развертывания веб-службы. Дополнительные сведения см. в разделе Практическое руководство. Развертывание веб-служб в управляемом коде.

Развертывание веб-службы с помощью проекта веб-установки

  1. В меню Файл выберите команду Добавить, а затем Новый проект.

  2. Выберите узел Прочее, затем узел Проекты установки и развертывания, а в нем — Проект веб-установки.

  3. В поле Имя введите TempConvert1WebSetup и нажмите ОК.

    87h5xz7x.alert_note(ru-ru,VS.90).gifПримечание.

    По умолчанию при создании виртуального каталога на сервере развертывания установщик использует имя проекта развертывания.

  4. В левой панели окна Редактор файловой системы выберите элемент Папка веб-приложения. Дополнительные сведения см. в разделе Редактор файловой системы.

  5. В обозревателе решений щелкните правой кнопкой мыши TempConvert1WebSetup, наведите указатель на команду Добавить и выберите Выходной элемент проекта.

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

  7. Нажмите кнопку ОК.

  8. В обозревателе решений щелкните правой кнопкой мыши TempConvert1WebSetup и выберите в контекстном меню команду Построение.

    В локальном каталоге проекта будет создан файл установщика Windows. При запуске этого файла выполняется установка веб-приложения.

Чтобы развернуть веб-службу путем копирования проекта, выполните следующие действия:

  1. В обозревателе решений выберите проект TempConvert1.

  2. В меню Проект выберите команду Копировать веб-узел.

  3. Нажмите значок рядом с полем раскрывающегося списка Подключение к:, чтобы открыть диалоговое окно Открыть веб-узел. Перейдите к месту сохранения копии проекта.

  4. В области "Исходный веб-узел" выберите файлы, подлежащие копированию, и переместите их в область "Удаленный веб-узел" с помощью значка с правой стрелкой. .

  5. Нажмите Копировать веб-узел, чтобы скопировать веб-узел.

Сведения о создании клиентского приложения, вызывающего веб-службу, см. в одном из следующих разделов:

См. также

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

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

Примеры Visual Studio

Веб-программирование с использованием веб-служб

Создание веб-служб в управляемом коде