zoukankan      html  css  js  c++  java
  • SAP WebClient UI的会话重启原理

    For each business role we can assign a technical profile to it.

    Do you know the meaning of the Memory Threshold configured here?

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t03D5Agv-1598016586314)(https://upload-images.jianshu.io/upload_images/2085791-e3db0d2882c875cf.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

    If not, you can set a very low value to it for example 10MB, and go back to your system to observe the session restart behavior.

    How the need of session restart is detected

    Every time we switch among different work centers, the necessity of session restart is checked:

    In handle_restart method, for Non-external navigation ( navigation between WebUI work centers ), BOL reset is by default considered as necessary – gv_bol_reset_requested is set as true in line 18.

    Later on the navigation handling method this flag will be evaluated:

    And the check about whether the current memory consumption has exceeded the threshold configured in technical profile is performed in line 23, method query_session_reset.
    The check logic done in below method:

    Once it is determined to restart the current session, a flag gv_restart_cause is set with corresponding reset reason.

    How the session restart is implemented

    If the method is_session_restart_required discussed in previous chapter returns true, it is now ready to prepare Javascript code to restart the session.

    Before restart, all current user data are stored via server side cookie.
    From the implementation of GET_RESTART_SCRIPT you can find the Javascript code for restart.

    You can of course debug this JavaScript function in Chrome:

    When a new session is successfully launched, all previous stored information are now restored:

    How Memory Threshold set in Technical profile is loaded by UI framework

    This is pretty easy to find, in constructor of CL_CRM_UI_MEMORY_UTILS.

    How to view session restart log

    Activate log setting in tcode SAAB, log point id: BSP_WD_MEM_TRACE
    After that once session restart and restore occurs, it will be recorded and displayed in SAAB:

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    采集智能电表
    未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\.....dll”“拒绝访问。
    随笔写写jquery
    随便写写,,
    写写Ajaxpro
    C# 给程序加日志功能。
    Oracle_Database_11g_标准版_企业版__下载地址_详细列表
    通过C#发送自定义的html格式邮件
    C# 加密解密链接字符串
    获取本地 有线 正在使用的网卡信息
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/13544921.html
Copyright © 2011-2022 走看看