Роль базового класса WebService
Роль базового класса WebService
В процессе разработки сервиса HelloWorldWebService вы имели возможность убедиться том, что Web-сервис можно получить непосредственно из System.Object. Но по умолчанию Web-сервисы, созданные в Visual Studio 2005, автоматически получаются из базового класса System.Web.Services.WebService. Описания основных членов этого типа класса предлагаются в табл. 25.3.
Таблица 25.3. Основные члены типа System.Web.Services.WebService
Свойство Описание Application Обеспечивает доступ к объекту HttpApplicationState для текущего HTTP-запроса Context Обеспечивает доступ к типу HttpContext, инкапсулирующему все НТТР-содержимое, используемое Web-сервером для HTTP-запросов Server Обеспечивает доступ к объекту HttpServerUtility для текущего запроса Session Обеспечивает доступ к типу HttpSessionState для текущего запроса SoapVersion Читает версию протокола SOAP, используемую для SOAP-запросов к Web-сервису XML: это свойство появилось в .NET 2.0Вы, возможно, уже поняли, что для построения Web-сервиса, способного осуществлять поддержку своего состояния с помощью переменных приложения и сеанса (см. главу 24), вы должны получить соответствующий тип из WebService, поскольку последний определяет свойства Aррlication и Session. С другой стороны, если вы строите Web-сервис XML, для которого не требуется "помнить" информацию о внешних пользователях, не требуется и расширение WebService. Мы снова рассмотрим процесс построения Web-сервиса XML позже, в ходе нашего обсуждения свойства EnableSession атрибута [WebMethod].
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
18.8.6 Доступ к дискам виртуального компьютера из ОС базового
18.8.6 Доступ к дискам виртуального компьютера из ОС базового Во всех трех рассмотренных примерах мы говорили только о том, как получить доступ к дискам базового компьютера из виртуального. Однако можно поставить вопрос и наоборот: как получить доступ к дискам виртуального
R.18.3.2 Старый стиль задания инициализатора базового класса
R.18.3.2 Старый стиль задания инициализатора базового класса В конструкции инициализатор-памяти (§R.12.6.2) можно не указывать имя-класса, обозначающее базовый класс при условии, что существует только один прямой (непосредственный) базовый класс. Поэтому в описанииclass B
8.10. Создание интерфейса с помощью абстрактного базового класса
8.10. Создание интерфейса с помощью абстрактного базового класса ПроблемаТребуется определить интерфейс, который будет реализовываться производными классами, но концепция этого интерфейса является абстракцией и не должна наследоваться сама по себе.РешениеСоздайте
Роль класса Application
Роль класса Application Класс Application определяет множество статических членов, позволяющих управлять поведением различных низкоуровневых элементов приложения Windows Forms. Класс Application определяет набор событий, позволяющих реагировать, например, на завершение работы приложения
Атрибут [WebService]
Атрибут [WebService] Класс Web-сервиса XML может быть помечен необязательным атрибутом [WebService] (не путайте его с базовым классом WebService). Этот атрибут поддерживает ряд именованных свойств, первым из которых является Namespace. Это свойство можно использовать для указания пространства
2. Пример создания базового отношения в записи на псевдокоде
2. Пример создания базового отношения в записи на псевдокоде Теперь, когда мы выяснили значения основных металингвистических символов, использующихся при записи оператора создания базового отношения на псевдокоде, мы можем перейти собственно к рассмотрению самого
17.2.1. Определение базового класса
17.2.1. Определение базового класса * Члены Query представляют: множество операций, поддерживаемых всеми производными от него классами запросов. Сюда входят как виртуальные операции, переопределяемые в производных классах, так и невиртуальные, разделяемые всеми производными
17.3. Доступ к членам базового класса
17.3. Доступ к членам базового класса Объект производного класса фактически построен из нескольких частей. Каждый базовый класс вносит свою долю в виде подобъекта, составленного из нестатических данных-членов этого класса. Объект производного класса построен из
17.4. Конструирование базового и производного классов
17.4. Конструирование базового и производного классов Напомним, что объект производного класса состоит из одного или более подобъектов, соответствующих базовым классам, и части, относящейся к самому производному. Например, NameQuery состоит из подобъекта Query и объекта-члена
17.4.1. Конструктор базового класса
17.4.1. Конструктор базового класса В нашем базовом классе объявлено два нестатических члена: _solution и _loc:class Query {public:// ...protected:setshort *_solution;vectorlocation _loc;// ...};Конструктор Query по умолчанию должен явно инициализировать только член _solution. Для инициализации _loc автоматически вызывается
18.5.1. Объявление виртуального базового класса
18.5.1. Объявление виртуального базового класса Для указания виртуального наследования в объявление базового класса вставляется модификатор virtual. Так, в данном примере ZooAnimal становится виртуальным базовым для Bear и Raccoon:// взаимное расположение ключевых слов public и virtual//
18.5.4. Видимость членов виртуального базового класса
18.5.4. Видимость членов виртуального базового класса Изменим наш класс Bear так, чтобы он имел собственную реализацию функции-члена onExhibit(), предоставляемой также ZooAnimal: bool Bear::onExhibit() { ... }Теперь обращение к onExhibit() через объект Bear разрешается в пользу экземпляра, определенного в
Разграничение доступа к элементам базового класса
Разграничение доступа к элементам базового класса Мы уже рассказывали, что можно управлять доступом к элементам класса, указывая спецификаторы доступа для элементов класса. Элементы класса, объявленные с спецификаторами protected и private доступны только из методов самого
Переопределение методов базового класса
Переопределение методов базового класса В порожденном классе можно определить методы и элементы данных с именами, которые уже используются в базовом классе. Соответствующие методы и элементы данных базового класса оказываются скрыты. Чтобы обратиться к ним, необходимо
Классы, не имеющие базового класса
Классы, не имеющие базового класса Кроме классов, наследованных от базового класса CObject, библиотека MFC включает ряд самостоятельных классов. У них нет общего базового класса и они имеют различное назначение.Несколько классов, которые не наследуются от базового класса
Роль инвариантов класса в программной инженерии
Роль инвариантов класса в программной инженерии Свойство (2) правила инвариантов показывает, что неявно их можно рассматривать как добавления к предусловиям и постусловиям каждой экспортируемой программы класса. Посему принципиально понятие инварианта класса