Perl催化剂; 配置会话过期时间和Flash行为

s2c*_*uts 0 perl session catalyst

我刚刚发现,当我将Catalyst应用程序的会话插件(Catalyst :: Plugin :: Session)配置为过期时,它会使用闪存数据.更具体地说,我发现闪存数据不再带有新请求.

这听起来不正常吗?我怎么能应付这个?

mob*_*mob 5

完全正常.会话的整个要点是能够将来自一个请求的数据与另一个请求中的数据相关联.当您让某个请求的会话过期时,您说该请求的数据不应与任何将来的请求有任何关系.

更具体地说,闪存数据是会话数据的一部分 - 例如,参见文件中的_save_flash方法Catalyst/Plugin/Session.pm.另请参阅delete_session方法重要警告:

注意:此方法还将删除您的闪存数据.

如何应对呢?您需要使用Session插件以外的任何方案来保留请求中的数据.在不了解您的应用程序的更多信息,您试图保留的数据以及如何将旧会话中的数据与新请求相关联的情况下,我无法开始提出更具体的建议.