Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Клас CHttpServer.

Підтримка ISAPI в бібліотеці класів MFC.

Лекція 6.

Оператор CASE.

У збережених процедурах використовується також конструкція CASE, що реалізує вибір одного з декількох значень. Розглянемо використання цієї можливості на прикладі, де в процедуру передається числове значення, залежно від якого система встановлює ставку стипендії студента.

 

CREATE PROCEDURE PROVERKA @N TINYINT

AS

BEGIN

DECLARE @X REAL

SELECT @X =

CASE @N

WHEN 1 THEN 17

WHEN 2 THEN 25.50

WHEN 3 THEN 34

ELSE 0

END

PRINT ' Встановлено стипендію:'

PRINT @X

END

 

Використання оператора RETURN у збережених процедурах дозволяє завершити роботу запиту або процедури, а також передати значення підпрограмі, яка визвала дану процедуру.


 

 

Підтримка ISAPI в бібліотеці класів MFC. 21

Клас CHttpServer. 21

CHttpServer::GetExtensionVersion(). 21

CHttpServer::HttpExtensionProc(). 21

CHttpServer::InitInstance(). 22

CHttpServer::CallFunction(). 22

Таблиці трансляції. 22

Функції – обробники. 23

Клас CHttpServerContext. 23

Клас CHtmlStream. 24

У комплекті поставки Visual C++ передбачена підтримка програмних розширень і фільтрів ISAPI, яка реалізується у вигляді набору класів MFC.

 

CHttpServer Базовий клас для ISA – розширень.
CHttpServerContext Клас контекстної інформації для запитів клієнтів.
CHtmlStream Клас для керування HTML – даними по запитах клієнтів.
CHttpFilter Базовий клас для фільтрів ISAPI.
CHttpFilterContext Інтерфейсний клас для структури HTTP_FILTER_CONTEXT.

 

Крім того, бібліотека MFC включає набір макровизначень, що дозволяють задати схему перенаправлення запитів до функцій конкретної реалізації ISA. У Visual C++ є майстер додатків для побудови ISA – розширень і фільтрів ISAPI, що використовують класи MFC ISAPI.

ISA – розширення, що використовують класи MFC, повинні мати один – і лише один – об'єкт, похідний від класу CHttpServer. У цьому класі реалізовані точки входу GetExtensionVersion() і HttpExtensionProc(). Крім того, клас включає додаткові методи, що спрощують обробку запитів, і дозволяє створювати об'єкти CHtmlStream, які використовуються для побудови запитів.

CHttpServer::GetExtensionVersion().

Клас CHttpServer має метод, який пересилає серверу інформацію про версію програмного продукту при першому завантаженні ISA в пам'ять. Ця функція може також використовуватися для ініціалізації ISA.

CHttpServer::HttpExtensionProc().

Ця функція викликається один раз для кожного отриманого від клієнта запиту. Стандартна реалізація цієї функції передбачає створення для запиту нового об'єкта CHttpServerContext, синтаксичний аналіз запиту, виклик метода CHttpServer::InitInstance(), а також виклик функції CHttpServer::CallFunction() для перенаправлення запита клієнта в одну з функцій ISA за допомогою таблиці трансляції. За допомогою функції CHttpServer::OnParseError() у ній генеруються коди HTML для обробки можливих помилок.

CHttpServer::InitInstance().

Метод InitInstance() класу CHttpServer викликається стандартною реалізацією функції CHttpServer::HttpExtensionProc() при отриманні чергового запиту. Ця функція може перекриватися в класі, похідному від CHttpServer, для виконання необхідної ініціалізації. Операції, які повинні виконуватися тільки один раз, при завантаженні динамічної бібліотеки в пам'ять, у жодному випадку не повинні включатися в цю функцію; їх місце – у функції GetExtensionVersion().

CHttpServer::CallFunction().

Метод CallFunction() класу CHttpServer викликається стандартною реалізацією метода CHttpServer::HttpExtensionProc() для перенаправлення команди із запита клієнта на виконання в одну з функцій ISA. Стандартна реалізація метода використовує для вибору функції – обробника таблицю трансляції (аналогічну таблиці повідомлень). Якщо необхідно виконувати нестандартне перенаправлення команд функціям – обробникам, цей метод слід перекрити – в цьому випадку в таблиці трансляції немає необхідності.




Переглядів: 505

<== попередня сторінка | наступна сторінка ==>
Цикл WHILE. | Функції – обробники.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.004 сек.