我的代码中有一个SessionVar定义了somwhere:
object User extends SessionVar[Option[User]]
与会话和请求分开的对象。
object StatisticMonitor extends LiftActor{
LiftSession.onAboutToShutdownSession::= onSessionShutdown
def onSessionShutdown(targetSession: LiftSession) {
//TODO: how to find User for session targetSession
}
}
问题:
内部onSessionShutdown
User
内绑定targetSession
是否属实(即通过调用User.is
我将获得正在关闭的用户)。
有没有办法访问任何SessionVar
个LiftSession
实例。 (例如,我有LiftSessions数组,我想迭代所有会话变量)
答案 0 :(得分:1)
只要任何会话到期,就会调用向onAboutToShutdownSession
添加处理程序,而不仅仅是绑定到SessionVar
的当前会话。如果您只关注与SessionVar
绑定的会话,则可能需要覆盖SessionVar
上的onShutdown(session:CleanUpParam)
方法。
我不确定你想要用第二点完成什么,但我不相信你可以从LiftSession
访问基础SessionVar
。