HISUI
关于系统超时说明
2022年03月17日 11时40分

关于系统超时说明

iMedical的会话机制使用的是cookie-session方式,cookie是浏览器管理的,session是cache自带了一套管理机制。

一、cookie是浏览器管理的

浏览器在打开窗口时,在以下几种方式下为同一cookie,

  • 打开子窗口,cookie继承
  • iframe窗口,cookie继承
  • frameset窗口,cookie继承
  • IE模态窗口弹出界面,会新起cookie (会引起系统超时,弹出登录界面)
  • IE浏览器 -工具栏 – 打开新会话,会新起cookie
  • chrome使用无痕浏览时,新起cookie

二、%session是cache管理的

通过前台传过来的cookie中会话id来判断是哪一次sessionID,打印对应的session对象,获得会话信息

// 设置session的timeout时间
set %session.AppTimeout = 15*60  // 表示15分钟内没有任何请求到达后台时,会超时

在System Management Portal -> [Home] > [CSP Sessions]可以查看及管理当前有效会话

三、超时配置

  • 配置管理 -> 超时时间设置 当前系统默认的超时时间
  • 安全组设置 -> 超时时间设置 某个安全组超时时间,优先级高于默认配置

四、超时可能性

  • 业务上使用模态窗口后,再window.open弹出新业务窗口,这里cookie变化 ,导致后面找不到session,会弹出登录界面
  • 有些电脑,在IE11上按F12找开调试窗口后,也会导致cookie变化 ,导致弹出登录界面
  • 对于上了负载均衡的项目,最好让负载策略设置成【源IP哈希】策略,否则可能会因为负载原因导致找不到session,会弹出登录界面。如果【有会话保持时间】要看情况计算,如:会话保持是30分钟,负载的http连接超时时间是30分钟,住院医生设置成2小时timeout,但医生30分钟不操作,连接就断开了,后面再保持30分钟,后面再来操作,此时会超时,也就是iMedical内设置timeout时间后,真实超时时间与负载有关。
  • 对于上了负载均衡的项目,按f5刷新窗口时,访问的ECP变化,找不到session,导致弹出登录界面。
  • 对于上了负载均衡的项目,因为某台ECP不稳定,会转向其它ECP,找不到session,导致弹出登录界面。
  • 使用iMedical调用全息视图,再从全息视图弹出iMedical业务界面时超时。会话不能跨系统保留
  • 使用iMedical调用全息视图,再从全息视图统一登录进入iMedical业务界面后,导致原主iMedical系统ajax请求提示time out。

  • 使用Lodop打印HTML标签时,有些客户端会超时,此时要修改成CLodop打印

  • 同一种浏览器进入同一应用BS系统时,会默认保存一份会话,如果要同时使用二份会话,IE使用-nomerge参数可以实现每次桌面打开新会话,Chrome要使用访客打开新会话,医为浏览器从桌面进入默认打开新会话。、

当系统启用了锁屏功能时 —-
– 1、系统超时了会系统会锁屏。
– 2、客户端鼠标一直不动系统也会锁屏。
– 3、后台检测前台不在的判断是逻辑是:如果超过一段时间,服务器一直没收到前台的请求,后台会断开请求,也就是超时
举例说明:系统设置超时时间为40分钟时,医生查房离开电脑35分钟,再回来写5分钟病历,此时服务器40分钟未收到前台请求,系统会超时,前台表现为锁屏(老系统表现为后面【点击保存】按钮,会无反应或弹出登录界面)。

五、优化办法

下一版iMedical9系统实现会话共享功能,保证会话的全服务器间有效。

上一篇: 下一篇:

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

访问量: 379546