Читать «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» онлайн - страница 683
Эндрю Троелсен
Кроме использования директивы ‹%@WebService%›, другой особенностью это-го файла *.asmx является использование атрибута [WebMethod], информирующего среду выполнения ASP.NET о том, что этот метод будет доступен для поступающих HTTP-запросов и должен позволять сериализацию возвращаемых значений в формате XML.
Замечание. В рамках HTTP могут быть доступными только члены, имеющие атрибут [WebMethod]. Члены, не обозначенные атрибутом [WebMethod], не могут вызываться агентом клиента
Тестирование Web-сервиса XML с помощью WebDev.WebServer.exe
Напомним (снова см. главу 23), что WebDev.WebServer.exe является сервером Web-разработки ASP.NET, поставляемым в составе дистрибутива .NET Framework 2.0 SDK. И хотя WebDev.WebServer.exe не предполагается использовать для обслуживания Web-сервисов XML производственного уровня, этот инструмент позволяет запустить Web-содержимое непосредственно из локального каталога при отладке. Для проверки своего сервиса с помощью этого инструмента откройте окно командной строки Visual Studio 2005 и выполните следующую команду, указав свободный номер порта и физический путь к каталогу, содержащему ваш файл *.asmx.
WebDev.Webserver /port:4000 /path:"C:\HelloWorldWebService"
После запуска Web-сервера откройте любой браузер и укажите в его окне имя своего файла *.asmx, используя соответствующий номер порта.
http://localhost:4000/HelloWorldWebService.asmx
Вам будет показан список всех Web-методов, доступных по этому адресу URL (рис. 25.2).
Рис. 25.2. Тестирование Web-сервиса XML
Если в окне браузера вы щелкнете на ссылке HelloWorld, откроется другая страница, которая позволит вызвать [WebMethod], только что выбранный вами. В результате вызова HelloWorld() будет возвращена не буквальная строка .NET System.String, a XML-представление текстовых данных, возвращаемых Web-методом HelloWorld().
‹?xml version="1.0" encoding="utf-8"?›
‹string xmlns="bttp://tempuri.org/"›Hello!‹/string›
Тестирование Web-сервиса XML с помощью IIS
Теперь, когда вы проверили свой Web-сервис XML с помощью WebDev. WebServer.exe, перенесите файл *.asmx в виртуальный каталог IIS. Используя инструкции, предложенные в главе 23, создайте новый виртуальный каталог с именем HelloWS, который будет отображаться в физическую папку, содержащую файл HelloWorldWebServiсe.asmx. После этого вы получите возможность проверить свой Web-сервис с помощью ввода следующего значения URL в строке Web-браузера.
http://localhost/HelloWS/HelloWorldWebService.asmx