МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
|||||||||||||||||
Клас 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.
Крім того, бібліотека 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. Стандартна реалізація метода використовує для вибору функції – обробника таблицю трансляції (аналогічну таблиці повідомлень). Якщо необхідно виконувати нестандартне перенаправлення команд функціям – обробникам, цей метод слід перекрити – в цьому випадку в таблиці трансляції немає необхідності.
|
||||||||||||||||||
|