Это завершает создание службы Web. Как и прежде, есть возможность протестировать эту службу, направляя браузер Web на файл
.asmx
, поэтому мы можем добавить записи и взглянуть на представление XML для
DataSet
, возвращаемое
GetData
, не создавая никакого клиентского кода.
Клиент приложения предварительного заказа помещения для проведения мероприятия
Используемый клиент является разработкой приложения Web
PCSWebApp3
из предыдущей главы. Назовем это приложение
PCSWebApp4
и воспользуемся кодом из
PCSWebApp3
в качестве начальной точки.
Сделаем два существенных изменения в проекте. Первое: удалим все непосредственные обращения к базе данных из этого приложения и воспользуемся вместо этого службой Web. Второе: введем хранилище уровня приложения из
DataSet
, возвращаемого из службы Web, которое обновляется только в случае необходимости, это значит, что на базу данных падает меньшая нагрузка.
Прежде всего в нашем новом приложении Web необходимо добавить ссылку Web на службу
PCSWebSrv2/Service1.asmx
. Это можно сделать точно таким же образом, как мы видели ранее в этой главе, определяя местонахождение файла
.vsdisco
и вызывая его
eventDataService
.
После этого добавляем код в
Global.asax
, по большей части, таким же образом, как это было сделано для службы Web. Этот код, однако, будет существенно проще. Сначала мы ссылаемся на службу Web и пространство имен
System.Data
:
namespace PCSWebApp4 {
...
using System.Data;
using eventDataService;
Затем заполняем множество данных (
dataset
) и помещаем его в хранилище данных уровня приложения с именем
resultLabel.Text = "Event not added due to DB access problem.";
}
} else {
validationSummary.Enabled = true;
}
}
Фактически, мы существенно упростили систему. Это часто бывает при правильном проектировании служб Web — можно забыть о большей части работы приложения и вместо этого сосредоточиться на работе пользователя.