Арифметическая Служба Сети, или Web-служба Arithmetic (Арифметика). Использование внутренних объектов.
В данном разделе главы будет рассмотрена Web-служба Arithmetic (Арифметика), созданная на основе шаблона Managed C++ Web Service (Web-служба на управляемом C++). Мы научимся работать с внутренними объектами Web-службы.
Но прежде чем двигаться дальше, посмотрите, как выглядит Web-служба в окне вашего браузера (рис. 11.7). Из окна браузера можно запустить каждый метод Web-службы и убедиться, что методы работают корректно.
Рис. 11.7. Вид завершенной Web-службы, созданной с помощью шаблона Managed C++ Web Service (Web-служба на управляемом C++)
Использование внутренних объектов
Данная Web-служба имеет несколько методов, на примере которых мы проиллюстрируем, как используются внутренние объекты. Дальше мы увидим, что эти внутренние объекты аналогичны внутренним объектам в ASP.NET Из используемых методов те два, которые подсчитывают общую сумму чисел, иллюстрируют использование состояния приложения и состояния сеанса.
В соответствующих обработчиках событий, которые содержатся в файле global.asax.h, значение суммы инициализируется нулем. Для Web-служб файл Global.asax.h играет ту же роль, что и для ASP.NET. Назначение этого файла подробно обсуждалось в главе 10 "ASP.NET и Web-формы". Так как класс Glooal является производным от класса System::Web::HttpApplication (Система "Сеть" HttpApplication), то он может получить доступ ко внутренним объектам Application (Приложение) и Session (Сеанс).
public _gc class Global: // класс сборщика мусора Глобальный: public System::Web::HttpApplication // общедоступная Система::Сеть::HttpApplication { protected: // защищенный void Application_Start(Object *sender, EventArgs *e) { Application › set_Item("TotalSum", _box(0.0)); // Приложение } void Session_Start(Object *sender, EventArgs *e) { Session › set_Item("SessionSum", _box(O.O)); // Сеанс } …