下图表示 uniGUI 服务器的内部结构。 每个 uniGUI 服务器都有一个ServerModule的副本, 每台服务器创建一次, 同时根据用户活动动态创建和销毁多个Session。 uniGUI Session包含一个称为MainModule(多个)的专用DataModule , 它为每个Session自动创建。 它还包含一个名为MainForm的窗体, 它是 Web 应用程序的主要入口点。 如果项目包含 LoginForm,它将在MainForm之前激活, 以提供可靠和安全的用户登录方式。 如预期的那样, 每个Session可以包含几个附加的DataModules 和窗体。
每次用户打开 Web 应用程序的新实例时, 服务器都会创建一个新的Session。 Session将保持活动状态, 直到用户注销、关闭浏览器/选项卡或超时。 每个Session都保持运行的 Web 应用程序的完整状态, 以便 uniGUI Session称为状态。 您可以将每个Session视为您的 Web 应用程序的专用副本, 它与服务器地址空间中的其他Session共存, 但与所有其他对话隔离。 服务器使用唯一的 "" Session id "创建每个Session, 它用于正确地将客户端请求与Session关联 (Session id 始终是 AJAX 请求的一部分)。
如果 uniGUI 应用程序只是一个 isapi 模块, 则正在运行的服务器将实例化一个 isapi 处理程序。 如果没有 Web 服务器, 则运行的服务器将启用其内部 web 服务器。 在这两种情况下, 对活动 Web 服务器的所有请求最终都将转到正确的Session。
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!