Лабораторная работа № 18
В жизни разработчика вполне может возникнуть ситуация, когда доступ к Web-сервисам необходимо будет предоставить с Web-страницы.
Для того чтобы предоставить удобный и полнофункциональный доступ к Web-сервису, следует воспользоваться возможностями технологии ASP.NET. Перед тем как мы перейдем к рассмотрению примера создания подобной Web-страницы, следует сказать несколько слов об ASP.NET.
Давно прошли те времена, когда сайт был просто набором статических Web- страниц. Теперь этого мало. Сейчас сайты все чаше создают с использованием новейших технологий программирования. Большая часть страниц генерируется автоматически, используя информацию, получаемую из каких- либо баз данных. Естественно, для создания таких страниц одного языка HTML, который все-таки является основой для Web-страниц, явно недостаточно. Даже использование технологии динамического HTML, опирающегося на программы-скрипты, выполняющиеся на стороне пользователя, не поможет в создании подобных сайтов.
Понятно, что работа приложений, динамически формирующих самые разнообразные Web-страницы по запросу пользователя, может происходить только на самом сервере, который поддерживает функционирование искомого Web-сайта. А если в процессе обработки запросов удаленного пользователя приходится обращаться к содержимому базы данных, то здесь уж никак не обойтись без серверных приложений, так как база данных, естественно, может функционировать только на сервере.
Вообще-то, для создания приложений, действующих на стороне Web- сервера, есть достаточно много приемлемых технологий. Но технология ASP (Active Server Pages) стоит в этом ряду особняком. Дело в том, что практически все технологии серверных приложений реализованы в виде дополнительных модулей, подключаемых к Web-серверам. А программы ASP не нуждаются в дополнительных интерпретирующих модулях. Поддержка ASP изначально встроена в Web-сервер IIS (Internet Information Services). Этот достаточно мощный сервер в последнее время автоматически включается в состав операционных систем Windows 2000 и Windows NT.
Таким образом, если вы привыкли работать с продуктами корпорации Microsoft. и перед вами стоит задача создать полнофункциональный Web-сайт, то выбор, пожалуй, очевиден. Следует использовать связку IIS-ASP. Тем более, что ASP-приложения отлично интегрируются с базами данных от Microsoft.
Изначально скрипты ASP создавались при помощи языка Visual Basic. Однако концепция MSIL (Microsoft Intermediate Language), являющаяся частью Microsoft.NET, позволяет писать ASP-приложения на любом языке, поддерживаемом средой разработки Visual Studio 2010. В ее состав, как мы знаем, входят языки Visual Basic.NET, C# и J#. Таким образом, приложения ASP можно разрабатывать на любом из этих языков.
До появления технологии Microsoft.NET ASP-скрипты приходилось интегрировать с HTML-документами практически вручную. То есть, Web- страницы изначально были отделены от скриптов, реализующих "движок" сайта. Средство разработки Visual Basic.NET позволяет создавать Web- страницы, полностью интегрированные с ASP.NET - кодом. Теперь разработчик может конструировать их точно так же, как и обычные программы (некоторые отличия, несомненно, все равно будут), отбуксировывая на Web- страницу необходимые компоненты и органы управления и создавая исходный код для обработчиков тех или иных событий. Всю остальную "дизайнерскую" работу возьмет на себя Visual Studio 2010, генерируя код, реализующий функциональность разработанной Web-страницы. А после публикации этой Web-страницы на сайте основную работу возьмет на себя WWW-сервер IIS, который и будет обеспечивать функционирование ASP.NET – кода, связанного сданной страницей.
Итак, приступим к разработке Web-страницы, которая сможет выступить в роли клиентского приложения, связывающегося с Web-сервисом при помощи языка SOAP, а не стандартным методом POST протокола HTTP. Для этого, как и прежде, выполним команду меню File | New | Project, и в появившемся диалоговом окне Создать проект (рис 18.1) в поле Установленные шаблоны выбрать Visual Basic. В верхнем поле выбрать.NET Framework 2.0. В поле Шаблоны выделить значок Веб-приложение ASP.NET. В поле Имя следует указать наименование создаваемого проекта. Укажите имя clientasp и щелкните ОК.

Рис. 18.1. Внешний вид диалогового окна «Создать проект»
Вместо формы, как это делается при разработке обычного приложения, среда разработки Visual Studio 2010 создаст заготовку для Web-страницы с именем Default.aspx, задаваемым по умолчанию (рис.17.2).

Рис.18.2. Заготовка для Web-страницы с именем Default.aspx
Его, впрочем, всегда можно изменить. В нашем примере мы зададим для Web-страницы имя Client.aspx (рис. 17.3).

Рис.18.3. Заготовка для Web-страницы с именем Client.aspx
Как и в лабораторной работе №17, на Web-странице следует разместить компоненты Label, СheckBox и Button, отбуксировав их с Панели элементов. При помощи независимого переключателя CheckBox1 мы будем задавать параметр, передаваемый функции MyDate, входящей в состав сервиса MyService, созданного в лабораторной работе №12. Текстовое поле будет содержать результат, возвращаемый этой функцией, а кнопка — запускать процесс установки связи с Web-сервисом и получения от него требуемых данных. Общий вид заготовки Web-страницы в среде разработки Visual Studio 2010 примет вид, показанный на рис. 18.4.

Рис.18.4. Общий вид заготовки для Web-страницы с именем Client.aspx
Затем надо добавить к проекту ссылку на Web-сервис точно так же, как это делалось в лабораторной работе №17 при создании отдельного клиентского приложения. То есть, открыть окно Обозреватель решений (Solution Explorer) выделить элемент clientasp и правым щелчком мыши вызвать для него контекстное меню. В этом контекстном меню необходимо выполнить команду Добавить веб-ссылку… (Add Web Reference), после чего будет активизировано одноименное диалоговое окно (рис.18.5), позволяющее установить ссылки на используемые сервисы.

Рис.18.5. Внешний вид окна Добавить веб-ссылку
В этом окне выберете Веб-службы на локальном компьютере. Visual Studio 2010 запустится на поиск локального компьютера для всех доступных веб-служб. Это может занять некоторое время. Появится новое окно Добавить веб-ссылку, приведенное на рисунке 18.6, в котором будут приведены все доступные в данный момент на локальном компьютере веб-службы.

Рис. 18.6. Внешний вид нового окна Добавить веб-ссылку
Нажмите кнопку Service1, соответствующую URL необходимого сервиса (например, с адресом http://localhost/MyService3/Service1.asmx). Появится новое окно Добавить веб-ссылку, приведенное на рисунке 18.7. В этом окне нажмите кнопку Добавить ссылку.

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

Рис.18.8. Исходный код
Исходный код приведен в листинге 18.1.






