Пошаговое руководство. Создание веб-службы с помощью 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, выполните следующие действия:
В меню Файл выберите команду Создать веб-узел.
В диалоговом окне Создать веб-узел выберите значок Веб-служба ASP.NET.
Введите адрес веб-сервера, на котором будет выполняться разработка веб-службы, и укажите TempConvertClient1 в качестве имени каталога, например "http://MyServer/TempConvertClient1". По умолчанию в проекте используется локальный компьютер: "https://localhost".
Примечание. Для некоторых типов проектов поле "Имя" недоступно, так как имя проекта определяется местом разработки. Например, веб-приложения и веб-службы расположены на веб-сервере и их имена являются производными от имени виртуального каталога этого сервера.
Примечание. Разработка веб-служб выполняется на сервере разработки. По умолчанию сервером разработки является локальный компьютер. Обычно проект разрабатывается и строится на сервере разработки, а затем развертывается на другом сервере (сервере развертывания), на котором веб-служба размещается с помощью проекта развертывания. Однако если разработка производится непосредственно на сервере, на котором веб-служба будет впоследствии развернута, то под сервером разработки и сервером развертывания подразумевается один и тот же сервер.
Нажмите ОК, чтобы создать проект.
Visual Studio автоматически создаст необходимые файлы и ссылки, необходимые для обеспечения поддержки веб-службы. При создании проекта веб-службы в Visual Studio отображается конструктор компонентов для файла Service1.asmx.
Реализация веб-службы
Следующим шагом является написание кода реализации функциональности веб-службы, к которой будут обращаться клиенты. У веб-служб, созданных с использованием Visual Studio, этот код содержится в файле с выделенным кодом, который связан с ASMX-файлом, созданным Visual Studio. Дополнительные сведения см. в разделе Практическое руководство. Создание метода веб-службы.
Добавление метода веб-службы
В файле 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.
Для объявления функции 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.
Щелкните правой кнопкой Service.asmx в окне обозревателя решений и выберите в контекстном меню команду Задать в качестве начальной страницы.
Сохраните решение.
Отладка веб-службы
Среда Visual Studio предлагает несколько способов построения и запуска веб-службы в интегрированной среде разработки, например:
Запуск с отладкой
Запуск без отладки
Просмотр в обозревателе.
Будучи проектом Visual Studio, данная веб-служба имеет отдельные конфигурации для отладочной и выпускной версий. Так как проект был создан с помощью шаблона проекта веб-службы ASP.NET, среда Visual Studio автоматически создала эти конфигурации и задала соответствующие параметры по умолчанию и прочие настройки. Дополнительные сведения см. в разделе Практическое руководство. Настройка конфигураций отладки и выпуска.
В этом пошаговом руководстве в веб-службе будут размещены точки останова и использоваться Запуск (с отладкой). Дополнительные сведения см. в разделе Практическое руководство. Отладка веб-служб в управляемом коде.
Прежде чем приступать к отладке, необходимо проверить параметры отладки. Дополнительные сведения см. в разделе Подготовка к отладке: проекты веб-службы XML.
Использование точки останова и запуск веб-службы с отладкой
В меню Отладка выберите команду Создать точку останова, а затем Прервать в функции.
На вкладке Функция введите ConvertTemperature в поле Функция и нажмите OK, чтобы разместить точку останова на объявлении метода ConvertTemperature .
В меню Отладка выберите команду Запуск, затем нажмите ОК в окне Отладка не включена, чтобы начать отладку.
Эта команда указывает приложению Visual Studio, что веб-службу следует запустить в отладчике. Visual Studio выполнит построение проекта и его развертывание на указанном сервере разработки. После завершения развертывания обозреватель по умолчанию отображает ASMX-файл с сервера разработки.
При открытии ASMX файла в обозревателе веб-служба возвращает справочную страницу, которая содержит сведения о веб-службе. По ссылке Service Description можно перейти к XML-документу, который содержит формальное описание веб-службы. Дополнительные сведения см. в разделе XML Web Service Description.
На справочной странице службы щелкните ссылку ConvertTemperature.
В поле dFahrenheit введите число 212, затем нажмите кнопку Invoke.
После того как в ходе обработки будет достигнута функция ConvertTemperature, обработка завершится. Отладчик Visual Studio выделит строку, содержащую точку останова; во время остановки отладчика доступен целый ряд различных действий. Дополнительные сведения см. в разделах Путеводитель по отладчику и Просмотр данных в отладчике.
В меню Отладка выберите команду Продолжить, чтобы возобновить обработку.
Отклик веб-службы заключается в возврате преобразованного значения в форме XML-документа, аналогичного следующему:
<?xml version="1.0" encoding="utf-8" ?> <double xmlns="http://Walkthrough/XmlWebServices/">100</double>
Чтобы остановить выполнение веб-службы и вернуться в редактор кода, в меню Отладка выберите команду Остановить отладку.
В меню Отладка выберите команду Удалить все точки останова.
Развертывание веб-службы
Чтобы веб-службой могли пользоваться другие пользователи, ее необходимо развернуть на веб-сервере, к которому имеют доступ потенциальные клиенты службы. Чтобы развернуть веб-службу не на сервере разработки, а на каком-либо другом сервере, можно добавить проект веб-установки или скопировать нужные файлы на выбранный сервер. В этом пошаговом руководстве приводится несколько способов развертывания веб-службы. Дополнительные сведения см. в разделе Практическое руководство. Развертывание веб-служб в управляемом коде.
Развертывание веб-службы с помощью проекта веб-установки
В меню Файл выберите команду Добавить, а затем Новый проект.
Выберите узел Прочее, затем узел Проекты установки и развертывания, а в нем — Проект веб-установки.
В поле Имя введите TempConvert1WebSetup и нажмите ОК.
Примечание. По умолчанию при создании виртуального каталога на сервере развертывания установщик использует имя проекта развертывания.
В левой панели окна Редактор файловой системы выберите элемент Папка веб-приложения. Дополнительные сведения см. в разделе Редактор файловой системы.
В обозревателе решений щелкните правой кнопкой мыши TempConvert1WebSetup, наведите указатель на команду Добавить и выберите Выходной элемент проекта.
В диалоговом окне Добавление выходной группы проекта выберите Файлы с содержимым. Дополнительные сведения см. в разделе Практическое руководство. Добавление и удаление результатов проекта в редакторе файловой системы.
- Группа файлов с содержимым состоит из следующих файлов веб-службы: Service1.asmx, Global.asax и Web.config. Дополнительные сведения см. в разделе Практическое руководство. Развертывание веб-служб в управляемом коде.
Нажмите кнопку ОК.
В обозревателе решений щелкните правой кнопкой мыши TempConvert1WebSetup и выберите в контекстном меню команду Построение.
В локальном каталоге проекта будет создан файл установщика Windows. При запуске этого файла выполняется установка веб-приложения.
Чтобы развернуть веб-службу путем копирования проекта, выполните следующие действия:
В обозревателе решений выберите проект TempConvert1.
В меню Проект выберите команду Копировать веб-узел.
Нажмите значок рядом с полем раскрывающегося списка Подключение к:, чтобы открыть диалоговое окно Открыть веб-узел. Перейдите к месту сохранения копии проекта.
В области "Исходный веб-узел" выберите файлы, подлежащие копированию, и переместите их в область "Удаленный веб-узел" с помощью значка с правой стрелкой. .
Нажмите Копировать веб-узел, чтобы скопировать веб-узел.
Сведения о создании клиентского приложения, вызывающего веб-службу, см. в одном из следующих разделов:
См. также
Другие ресурсы
Пошаговые руководства по созданию веб-служб и получения к ним доступа