若要结束CSP会话,请在对象脚本方法中将%ession.EndSession属性设置为1。如果CSP应用程序超时,会话将由CSP类自动结束。
CSP会话,但Caché仍然报告我正在使用许可证。为什么?如果只访问了一个页面,然后注销或会话超时,CSP会提供5-10分钟的宽限期,在此宽限期内,CSP会为保留license,以便快速返回时可以重新获取相同的license。
宽限期较长者为:
5分钟10分钟的时间(确保会话最少10分钟)下表总结了license的发放方式和发放时间:
| Case | 用户访问了一个页面 | 用户已访问多个页面 |
|---|---|---|
代码显式地将%ession.EndSession设置为1(例如,当用户单击Logout时) | 会话将获得宽限期。当宽限期到期时,许可证将被释放。 | 许可证将立即发放 |
| 浏览器已打开,并且会话未超时 | 许可证将被保留 | 许可证将被保留 |
| 用户关闭了浏览器,但会话尚未超时 | 许可证将被保留 | 许可证将被保留 |
| 会话已超时时 | 会话将获得宽限期。当宽限期到期时,许可证将被释放。 | 许可证会立即发放 |
以下是当访问了单个页面时,宽限期如何运作的一些示例:
12:00登录,在12:15退出。宽限期5分钟,所以12点20分许可免费。12:00登录,在12:03退出。许可证的最小使用时间是10分钟,因此许可证在12:10是免费的。12:00登录,并在12:10关闭浏览器。超时设置为15分钟,因此会话在12:25结束。宽限期5分钟,所以12:30许可证免费。在每个名称空间中,应用程序的默认超时设置为900秒(15分钟)。
CSP页面的超时时间,请执行以下操作:
Caché多维数据集中,单击管理门户。如有必要,请登录。Web应用程序页面上,单击CSP应用程序的编辑进行配置。x是超时值,以秒为单位。s %session.AppTimeout = x
CSP会话超时时执行清理或日志记录。我该怎么做?OnTimeout类方法创建事件类。在管理门户中,导航到系统管理>安全>应用程序> Web应用程序,单击CSP应用程序的编辑以进行配置。在事件类字段中,输入要使用的类名,例如User.MyEventClass。
在CSP页面中,使用%session.EventClass属性:
<script language="cache" runat="server">
s %session.EventClass = "User.MyEventClass"
</script>
OnTimeou方法中,记录希望保留的任何信息。注意:此时不能将信息发送回浏览器(警报或重定向)。