Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье вы можете написать веб-службу с именем MathService, которая предоставляет методы для добавления, вычитания, деления и умножения двух чисел.
Исходная версия продукта: Visual C# .NET
Исходный номер базы знаний: 308359
Требования
В следующем списке описаны рекомендуемые аппаратные средства, программное обеспечение, навыки и знания, необходимые:
- Microsoft Windows
- Интернет-информационный сервер
- Visual Studio .NET
В этой статье предполагается, что вы знакомы с разделом: как использовать интегрированную среду разработки Visual Studio .NET.
Написание веб-службы ASMX
Откройте Visual Studio .NET.
В меню "Файл" выберите "Создать" и выберите "Проект". В разделе "Типы проектов" выберите "Проекты Visual C#". Затем выберите ASP.NET веб-службы в разделе "Шаблоны". Введите MathService в текстовом поле "Расположение", чтобы изменить имя по умолчанию (WebService1) на MathService.
Измените имя веб-службы по умолчанию, созданной из Service1.asmx на MathService.asmx.
Щелкните , чтобы перейти к представлению кода в среде конструктора.
Определите методы, которые инкапсулируют функциональные возможности службы. Каждый метод, который будет предоставляться из службы, должен быть помечен атрибутом
WebMethod
перед ним. Без этого атрибута метод не будет предоставляться из службы.Примечание.
Не каждый метод должен иметь
WebMethod
атрибут. Полезно скрыть некоторые сведения о реализации, вызываемые методами общедоступной веб-службы или в случае, в которомWebService
класс также используется в локальных приложениях. Локальное приложение может использовать любой общедоступный класс, но толькоWebMethod
методы будут удаленно доступны как веб-службы.Добавьте следующий метод в
MathServices
созданный класс:[WebMethod] public int Add(int a, int b) { return(a + b); } [WebMethod] public System.Single Subtract(System.Single A, System.Single B) { return (A - B); } [WebMethod] public System.Single Multiply(System.Single A, System.Single B) { return A * B; } [WebMethod] public System.Single Divide(System.Single A, System.Single B) { if(B == 0) return -1; return Convert.ToSingle(A / B); }
Выберите "Сборка" в меню "Сборка", чтобы создать веб-службу.
Перейдите на страницу веб-службы MathService.asmx , чтобы проверить веб-службу. Если на локальном компьютере размещена страница, URL-адрес — это
http://localhost/MathService/MathService.asmx
URL-адрес.
Среда выполнения ASP.NET возвращает страницу справки веб-службы, описывающую веб-службу. Эта страница также позволяет протестировать различные методы веб-службы.
Использование веб-службы
Откройте Visual Studio .NET.
В разделе "Типы проектов" выберите "Проекты Visual C#" и выберите консольное приложение в разделе "Шаблоны".
Добавьте ссылку на веб-службу MathService в новое консольное приложение.
На этом шаге создается прокси-класс на клиентском компьютере. После существования прокси-класса можно создать объекты на основе класса. Каждый вызов метода, который выполняется с объектом, затем выходит на универсальный идентификатор ресурса (URI) веб-службы (обычно как запрос SOAP).
- В меню "Проект" выберите "Добавить веб-ссылку".
- В диалоговом окне "Добавление веб-ссылки" введите URL-адрес веб-службы в текстовом поле "Адрес" и нажмите клавишу ВВОД. Если на локальном компьютере установлено размещение веб-службы, URL-адрес — это
http://localhost/MathService/MathService.asmx
URL-адрес. - Выберите команду Добавить ссылку. Кроме того, можно ввести URL-адрес файла обнаружения (MathService.vsdisco) или выбрать веб-ссылки на локальный веб-сервер в левой области, чтобы выбрать службу MathService из списка.
- Разверните раздел веб-ссылок Обозреватель решений и запишите используемое пространство имен.
Создайте экземпляр созданного прокси-объекта. Поместите следующий код в функцию с именем
Main
:localhost.Service1 myMathService = new localhost.Service1();
Вызовите метод для прокси-объекта, созданного на предыдущем шаге, следующим образом:
Console.Write("2 + 4 = {0}", myMathService.Add(2,4));
Выберите "Сборка" в меню "Сборка", чтобы создать консольное приложение.
Нажмите кнопку "Пуск" в меню отладки , чтобы протестировать приложение.
Закройте и сохраните проект.
Ссылки
Дополнительные сведения см. в разделе "Программирование веб-служб с веб-службами" в справке по Visual Studio .NET или в разделе ASP.NET веб-службы и ASP.NET "Клиенты веб-служб" в руководстве разработчика платформа .NET Framework.
Дополнительные сведения см. на следующих веб-сайтах: