Вход/Регистрация
Обработка баз данных на Visual Basic®.NET
вернуться

Прайс Кевин Т.

Шрифт:

 ' Код, созданный конструктором Web-служб.

 Private components As System.ComponentModel.IContainer

 ' ЗАМЕЧАНИЕ: Код, созданный конструктором компонентов.

 ' Его можно изменить только с помощью конструктора Web-служб.

 ' Не изменяйте его вручную в окне редактирования кода.

 <System.Diagnostics.DebuggerStepThrough> _

Private Sub InitializeComponent

components = New System.ComponentModel.Container

 End Sub

 Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

' CODEGEN: Этот вызов метода организован конструктором Web-служб.

' Не изменяйте его вручную в окне редактора кода.

If disposing Then

If Not (components Is Nothing) Then

components.Dispose

End If

End If

MyBase.Dispose(disposing)

 End Sub

#End Region

 <WebMethod> Public Function ShowGetRowCount As Integer

' Эти строки кода остались неизменными.

Dim GRC As New GetRowCount

ShowGetRowCount = GRC.GetRowCount GRC.Dispose

 End Function

End Class

Вот и все. Теперь после размещения этого кода на открытом Web-сервере любой пользователь может с помощью Web-броузера открыть данную Web-страницу и выполнить указанный метод. Обычно эта цель достигается программными средствами, а не вручную. В следующем разделе рассматривается пример такой ситуации.

Доступ к Web-службе программными средствами

Попробуем теперь использовать созданную Web-службу программными средствами из другого приложения, будь то обычное приложение Windows или Web-приложение.

Для соединения с Web-службой нужно создать Web-ссылку. Для создания такого соединения можно послать простой GET-запрос на основе протокола HTTP, который обычно заканчивается вопросительным знаком (?) с параметрами, разделенными амперсандами (&), например: http://search.yahoo.com/bin/search?p=VB.Net&VS.Net.

Кроме того, для создания соединения можно послать простой POST-запрос на основе протокола HTTP, параметры которого передаются в HTTP-заголовках. Еще один способ основан на применении протокола SOAP, благодаря которому Web-серверу посылается специализированный XML-файл, а Web-служба, в свою очередь, возвращает специализированный XML-файл в контейнере, заданном в SOAP-запросе.

Рис. 12.1. Диалоговое окно Add Web Reference

Для демонстрации программного доступа к Web-службе создайте проект нового консольного приложения Visual Basic .NET на основе шаблона Console Application среды Visual Studi o.NET. Учтите, что основные принципы доступа к Web-службе остаются одинаковыми независимо от типа проекта. После создания проекта щелкните правой кнопкой мыши на элементе References в окне Solution Explorer и в контекстном меню выберите команду Add Web Reference (Создать Web-ссылку). На экране появится диалоговое окно Add Web Reference (рис. 12.1). Укажите в текстовом поле Address (Адрес) URL-указатель используемой Web-службы и нажмите клавишу <Enter>. После этого в правой части диалогового окна Add Web Reference сразу же появится описание Web-службы NoveltyServices (см. рис. 12.1). Такой результат получается благодаря языку WSDL, который вставляет метаданные с описанием Web-службы в ее код. Щелкните на кнопке Add Reference для закрытия данного диалогового окна и вставки созданной ссылки в проект консольного приложения. В окне Solution Explorer теперь появится новая Web-ссылка, аналогичная показанной на рис. 12.2.

РИС. 12.2. Новая Web-ссылка в окне Solution Explorer

НА ЗАМЕТКУ

Если доступа каталогу или Web-серверу нужно пройти аутентификацию, то код нужно разместить в приложении, а не в Web-службе.

Теперь, после создания Web-ссылки, остается только включить в код консольного приложения три строки, которые показаны в листинге 12.9 с полным кодом основного модуля Module1.vb консольного приложения ConsoleApplication1.

ЛИСТИНГ 12.9. Код основного модуля Module1.vb

Module Module1

 Sub Main

Dim GRC As New localhost.NoveltyServices

Try

System.Console.WriteLine(GRC.ShowGetRowCount.ToString)

GRC.Dispose

Catch

System.Console.WriteLine(Err.Description)

End Try

 End Sub

End Module

  • Читать дальше
  • 1
  • ...
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: