×
Traktatov.net » Обработка баз данных на Visual Basic.NET » Читать онлайн
Страница 227 из 229 Настройки

5. После компоновки решения щелкните правой кнопкой мыши на файле NoveltyServices.asmx и выберите в контекстном меню команду View in Browser (Просмотр в окне Web-броузера).

6. Сразу после загрузки Web-страницы полученной Web-службы NoveltyServices щелкните на гипертекстовой ссылке ShowGetRowCount в верхней части Web-страницы.

7. Убедитесь в правильности полученных результатов. (Сначала в окне Web-броузера появится описание данной Web-службы с предложением проверить ее работоспособность, щелкнув на кнопке Invoke (Вызвать Web-службу). Щелкните на этой кнопке, и в окне Web-броузера появится XML-файл с приведенными ниже строками.

>

>2000

Здесь значение 2000 типа int – это результат выполнения метода ShowGetRowCount Web-службы NoveltyServices. — Прим. ред.)

ЛИСТИНГ 12.8. Файл NoveltyServices.asmx

>Imports System.Web.Services

>Imports Novelty1.GetRowCount


> _

> Public Class NoveltyServices

> Inherits System.Web.Services.WebService


>#Region " Web Services Designer Generated Code "

> Public Sub New()

>  MyBase.New()

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

>  InitializeComponent()

>  ' Инициализация после вызова метода

>  InitializeComponent().

> End Sub


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

> Private components As System.ComponentModel.IContainer


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

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

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

_

>  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


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.