Шрифт:
Интервал:
Закладка:
Используя специальный компонент WebDispatcher, мы можем даже мигрировать из существующих модулей данных (Data Modules) в Web модули. WebDispatcher встроен в обычный Web модуль, и используется для для диспетчеризации действия (Action) в Web модуле (Web серверное приложение может обрабатывать и выполнять разнообразные запросы и выполнять различные действия, для определения которых используется WebDispatcher).
Каждый WebAction может программироваться отдельно, но так же использовать что угодно их WebModule. Это включает все таблицы и бизнес правила, также другие процедуры и ресурсы. WebAction может напрямую писать в строку Response, или использовать один их трех специальных компонент для генерации динамических HTML и обслуживать запросы.
Компонент PageProducer используется для генерации динамических HTML страниц, включая специальные теги, которые могут использоваться для подстановки в run-time. Компонент DataSetTableProducer может использоваться для генерации динамических HTML страниц в табличном виде, используя колонки из таблицы базы данных. Вывод может полностью конфигурироваться, и требует наличия BDE на web сервере. Компонент QueryTableProducer подобен компоненту DataSetTableProducer, только использует запросы (query) вместо таблиц (table). Существует особая возможность использовать запросы с параметрами, встроенными в напрямую HTML CGI.
Конечно, Web модули поддерживаю куки (cookies), но я лично предпочитаю использовать "невидимые поля" для хранения информации об состоянии.
Я заключаю, что Дельфи Web модули прекрасно подходят для написания Web серверных приложений для Интернета.
Bug Report: TWinCGI OutputFile
Владельцы Delphi 3 C/S при написании WinCGI приложений должны учитывать потенциальную проблему: функция OutputFile открывает в режиме fmOpenWrite, которая вылетит если файл отсутствует. Эта проблема отсутствует при использовании IIS/PWS (которые предварительно создают OutputFile), но WebSite и IntraBob в этом случае не создают выходной файл, так что они сгенерируют исключение "cannot open file ".
Для исправления следует открыть файл CGIApp.pas и изменить "fmOpenWrite" на "fmCreate" в строках 410 и 507.
- C# для профессионалов. Том II - Симон Робинсон - Программирование
- Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - Александр Фролов - Программирование
- Табличный ПЛК.Табличное программирование контроллеров - Владимир Васильевич Стретенцев - Программирование / Науки: разное
- HTML: Популярный самоучитель - Александр Чиртик - Программирование
- Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil - А Ковязин - Программирование
- Технология XSLT - Алексей Валиков - Программирование
- QT 4: программирование GUI на С++ - Жасмин Бланшет - Программирование
- Графика DirectX в Delphi - Михаил Краснов - Программирование
- Советы по Delphi. Версия 1.4.3 от 1.1.2001 - Валентин Озеров - Программирование
- Советы по Delphi. Версия 1.0.6 - Валентин Озеров - Программирование