问题描述
每当Yesod会话结束时,我都想运行代码。例如,每当会话结束时,我都希望在控制台上打印“ hello”。
我没有在我的应用程序中使用脚手架。
解决方法
Yesod的默认会话使用clientsession
完成。这是通过将加密的数据存储在浏览器的Cookie中来实现的-服务器不存储任何状态。因此,我认为没有办法实现您想要的。
您可以切换到某种服务器存储的会话,在这种情况下,您可以根据会话过期进行 kinda 操作,尽管您永远无法检测到“用户清除了他们的Cookie”,从而有效地终止了会话。