Programming: Visual Basic
Как работать с данными в Web-службах в Microsoft Visual Basic .NET
Источник: altWebDeveloper - сетевой журнал для вебмастеров и разработчиков Microsoft .NET
Данная статья содержит информацию о бета-версии программного
продукта Microsoft. Информация в данной статье не является официальной и может
быть изменена без предварительного уведомления.
Бета-версия продукта не
обслуживается через каналы технической поддержки Microsoft. За информацией о
получении технической поддержки бета-версии программного обеспечения обратитесь
к документации, содержащейся в поставке, или на веб-сайте, с которого был
загружен продукт.
За соответствующей информацией по Microsoft Visual C#
.NET обратитесь к следующей статье Microsoft Knowledge Base: .
Аннотация В данной статье рассматривается способ представления
Web-службой автономных данных в виде объектов "DataSet", основанных на XML.
Использование в Web-службе объектов "DataSet" позволяет уменьшить количество
подключений к серверу баз данных.
Системные требования В следующем списке представлены рекомендации по
подбору аппаратного и программного обеспечения, сетевой инфраструктуры и пакетов
обновления:
- Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000
Advanced Server или Windows NT 4.0 Server
- Microsoft Internet Information Server 4.0 или Internet Information
Services 5.0
- Microsoft Visual Studio .NET
В данной статье подразумевается, что
вы обладаете достаточными знаниями в следующих областях программирования:
- Visual Studio .NET
- Основы работы с наборами данных
- SQL
- Web-службы
Использование данных в Web-службах
- Запустите Microsoft Visual Studio .NET.
- В меню "File" выберите пункт "New" и запустите команду "Project".
.
- В окне "Add New Project" выберите в списке "Project Types" тип проекта
"Visual Basic Projects". Выберите шаблон "ASP.NET Web Service". В текстовом
поле "Name" введите "DataService".
В
текстовом поле "Location" введите путь к используемому веб-серверу с ASP.NET.
- Переименуйте файл решения "DataService". .
- Переименуйте Web-сервис, созданный по умолчанию, с " Service1.asmx" на
"DataService.asmx".
- Измените текущее представление, щелкнув по ссылке "Click here to switch to
code view".
- В начале модуля укажите директивы "Import" для облегчения доступа к
объектам "DataSet" и "Connection":
Imports System.Data
Imports System.Data.SqlClient
- Определите метод "GetTitleAuthors", который возвращает информацию об
авторе из базы данных. Данный метод необходимо пометить с помощью атрибута
[WebMethod]. Без этого атрибута метод не будет предоставляться службой. Метод
"GetTitleAuthors" соединяется с базой данных и выполняет два SQL-запроса:
первый возвращает список авторов, а второй - список заголовков книг.
Результаты обоих запросов возвращаются в одном наборе данных с именем "DS".
Добавьте
следующий программный код в класс "DataService" под именем "Service1":
<WebMethod()> Public Function GetTitleAuthors() As DataSet
Dim MyConnection As SqlConnection = New
SqlConnection = New SqlConnection
("server=(local);database=pubs;Trusted_Connection=yes")
Dim MyCommand1 As SqlDataAdapter = New SqlDataAdapter
("select * from Authors", MyConnection)
Dim MyCommand2 As SqlDataAdapter = New SqlDataAdapter
("select * from Titles", MyConnection)
Dim DS As New DataSet
MyCommand1.Fill(DS, "Authors")
MyCommand2.Fill(DS, "Titles")
Return DS
End Function
- Внутри общедоступного класса "Service1" определите метод
("PutTitleAuthors"), который сохраняет информацию об авторах в базе данных.
Метод "PutTitleAuthors" является методом Web-службы, который принимает объект
"DataSet" как параметр, возвращая целое число, которое представляет число
строк, полученных из таблицы "Authors":
<WebMethod()> Public Function PutTitleAuthors(DS As DataSet) As Integer
Return DS.Tables(0).Rows.Count
End Function
- Сохраните и закройте проект.
Использование Web-службы
- Запустите Microsoft Visual Studio .NET.
- В меню "File" выберите пункт "New" и запустите команду "Project".
- В окне "Add New Project" выберите в списке "Project Types" тип проекта
"Visual Basic Projects". Выберите шаблон "ASP.NET Web Application". В
текстовом поле "Name" введите "DataServiceClient".
В
текстовом поле "Location" введите путь к используемому веб-серверу с ASP.NET.
- Добавьте ссылку на пространство имен "DataService" Web-службы в новом
приложении. На этом шаге будет создан модуль proxy-класса на клиентском
компьютере. При наличии proxy-класса Вы можете создавать основанные на нем
объекты. При каждом вызове метода для данного объекта будет создано
представление в виде uniform resource identifier (URI) Web службы
(SOAP-запрос).
- В меню "Project" выберите пункт "Add Web Reference".
- В окне "Add Web Reference" введите в поле "Address" URL-адрес Web службы
и нажмите клавишу "ENTER". Если Web служба расположена на локальном
компьютере, введите следующий адрес:
"http://localhost/DataService/DataService.asmx".
- Выберите пункт "Add Reference".
- Убедитесь, что ссылка на пространство имен содержится в дереве "Web
References" в окне "Solution Explorer".
- Добавьте элемент "DataGrid" на веб-страницу. Назовите элемент
"Authors_DataGrid".
- Добавьте элемент "Label" на веб-страницу. Назовите элемент "Message" и
удалите его значение по умолчанию.
- В процедуру "Page_Load" добавьте следующий программный код, создающий
экземпляр Proxy-объекта:
Dim D As DataServiceVB.DataService = New DataServiceVB.DataService()
- Процедура "Page_Load" вызывает метод "GetTitleAuthors" для получения
набора данных. Этот набор данных может быть связан с элементом
"Authors_DataGrid":
Dim MyData As DataSet = D.GetTitleAuthors()
Authors_DataGrid.DataSource=MyData.Tables("Authors").DefaultView
Authors_DataGrid.DataBind()
Message.Text = "The number of rows is:"
& MyData.Tables("Authors").Rows.Count.ToString()
- Сохраните и запустите проект. Убедитесь, что информация содержится в
элементе "DataGrid" и что методы Web-службы вызываются корректно.
При перепечатке любого материала
с сайта, видимая ссылка на источник www.warayg.narod.ru
и все имена, ссылки авторов обязательны.
© 2005
|