当前位置: 首页 > article >正文

Web Broker(Web服务应用程序)入门教程(2)

1. Web 调度器(Web Dispatcher)

如果您使用的是 Web 模块,它就充当 Web 调度器的角色。如果您使用的是现成的数据模块,则必须向该数据模块中添加一个单一的调度器组件(Web.HTTPApp.TWebDispatcher)。调度器维护着一个动作项集合,这些动作项知道如何处理特定类型的请求消息。当 Web 应用程序将请求对象和响应对象传递给调度器时,它负责分派请求消息。

通过向调度器添加动作来设置 Web 调度器。

1.1 向调度器添加动作

通过在调度器的“动作”属性上点击省略号按钮,从对象检查器打开动作编辑器。可以通过在动作编辑器中点击“添加”按钮,将动作项添加到调度器中。

向调度器添加动作,以响应不同的请求方法或目标 URI。您可以以多种方式设置动作项。您可以从预处理请求的动作项开始,并以一个默认动作结束,该默认动作检查响应是否完整,然后发送响应或返回错误代码。或者,您可以为每种类型的请求添加一个单独的动作项,每个动作项完全处理请求。

1.2 分派请求消息

当调度器接收到客户端请求时,它会生成一个 BeforeDispatch 事件。这为应用程序提供了一个机会,在任何动作项处理之前预处理请求消息。

接下来,调度器遍历其动作项列表,寻找与请求消息的目标 URL 的 PathInfo 部分匹配,并且提供请求消息方法所指定的服务的条目。它通过比较 TWebRequest 对象的 PathInfo 和 MethodType 属性与动作项上同名属性来实现这一点。

当调度器找到一个合适的动作项时,它会触发该动作项。当动作项触发时,它会执行以下操作之一:

1) 填充响应内容并发送响应,或发出请求已完全处理的信号。
2) 向响应中添加内容,


http://www.kler.cn/a/379532.html

相关文章:

  • 基于STM32的手式电视机遥控器设计
  • TP-LINK TL-XDN7000H免驱版 ubuntu 20.04驱动安装
  • MySQL45讲 第十四讲 count(*)这么慢,我该怎么办?
  • Armv8的安全启动
  • WordPress之generatepress主题安装
  • 常用的 Lambda 表达式案例解析
  • LeetCode 3259.超级饮料的最大化能力(动态规划状态机模型入门)
  • 探索数据管理新境界:PyTables库的奥秘
  • 低代码信息中心:赋能创新的未来
  • 密码学是如何保护数据传输的安全性?
  • 计算机网络 -- HTTP 协议详解
  • PyTorch实战-手写数字识别-MLP模型
  • Redis高级篇之缓存一致性详细教程
  • OpenEuler 使用ffmpeg x11grab捕获屏幕流,rtsp推流,并用vlc播放
  • 深入理解 Spring AOP:面向切面编程的原理与应用
  • LeetCode 0633.平方数之和:模拟
  • 【系统架构设计师】预测试卷一:综合知识(75道选择题)
  • Android Studio 安装过程
  • 虚拟化环境中的精简版 Android 操作系统 Microdroid
  • 【MATLAB源码-第286期】基于MATLAB的根升余弦脉冲整形对 BPSK 和 QPSK 调制的影响的对比仿真,输出功率谱,误码率曲线,星座图,眼图等.
  • 【初阶数据结构篇】链式结构二叉树(二叉链)的实现(感受递归暴力美学)
  • 金蝶云数据集成至MySQL的高效解决方案
  • 除了Vue CLI,还有哪些方式可以创建 Vue 项目?
  • Spring Boot 集成 Kafka
  • BERT的新闻标题生成
  • pip install -r requirements.txt下载速度慢