Спонсор: Microsoft
Опубликован: 08.08.2007 | Доступ: свободный | Студентов: 1489 / 136 | Оценка: 3.86 / 3.76 | Длительность: 11:46:00
Специальности: Программист
Лекция 14:

Лабораторная работа № 3

< Лекция 13 || Лекция 14: 123 || Лекция 15 >
Аннотация: Цель работы: изучения способов создания Web-сервисов

Содержание работы

  1. Изучить основные принципы создания Web-сервисов.
  2. Создать web-сервис, который будет использовать XML документ в качестве источника данных. То есть создать Web- сервис, возвращающий обычный набор данных содержащий информацию, взятую из XML-файла.
  3. Дополнить созданный web- сервис процедурой позволяющей сохранять данные в XML файле.
  4. Создать клиентское приложение.
  5. Оформить отчет, включающий постановку задачи, текст программ, демонстрацию работы программ.
  6. Защитить лабораторную работу

Методические указания

Сервис

Для того чтобы создать самый простой Web-сервис, который по запросу пользователя будет выдавать текущую дату или комбинацию даты и времени в среде разработки Visual Studio .NET следует выполнить команду меню File | New | Project и в появившемся диалоговом окне New Project в наборе Templates выделить значок ASP.NET Web Service. В поле Name следует указать наименование создаваемого проекта. После того, как все необходимые приготовления средой разработки будут сделаны, на основном рабочем поле появятся две новые страницы. Одна будет предназначена для разработки визуального дизайна, а на второй будет располагаться код нашего сервиса. Естественно, у создаваемого сервиса не может быть внешнего вида как такового, ему нечего отображать, поэтому страницу для дизайна можно спокойно закрыть.

В состав одного проекта может входить несколько отдельных сервисов. Для нашего примера потребуется всего один Web-сервис, заготовка для которого создается средой разработки Visual Studio. NET автоматически, поэтому ничего изменять не потребуется, и мы можем сразу перейти на страницу с наименованием Service1.asmx.vb. На этой странице нужно разместим код нашего Web-сервиса:

Imports System.Web.Services

<WebService(Namespace := "http://tempuri.org/")> _
Public Class Service1
    Inherits System.Web.Services.WebService

#Region " Web Services Designer Generated Code "

    Public Sub New()
        MyBase.New()

        'This call is required by the Web Services Designer.
        InitializeComponent()

        'Add your own initialization code after the InitializeComponent() call

    End Sub

    'Required by the Web Services Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Web Services Designer
    'It can be modified using the Web Services Designer.  
    'Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        components = New System.ComponentModel.Container()
    End Sub

    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        'CODEGEN: This procedure is required by the Web Services Designer
        'Do not modify it using the code editor.
        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 MyDate(ByVal ShowTime As Boolean
) As String
        Dim MD As DateTime
        If ShowTime Then
            MyDate = MD.Now
        Else
            MyDate = MD.Today
        End If
    End Function

End Class

Из всего этого кода лишь малая часть написана разработчиком. Это функция MyDate, расположенная в конце листинга.

После компиляции к созданному Web сервису можно обратиться даже из браузера. На рис. приведен внешний вид Web-страницы, которая генерируется Web-сервером при попытке обращения к Web сервису.


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


На этой странице расположено поле ввода, в котором пользователь может указать значение параметра, передаваемого функции.

В результате работы функции сервиса получим:

<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://tempuri.org/">11.08.2006 23:03:54</string>
< Лекция 13 || Лекция 14: 123 || Лекция 15 >
Дмитрий Федяков
Дмитрий Федяков
Россия, Москва