是否需要强迫OnSessionstart在OnrequestStart上再次运行。
我正在建立一个基于动态子域创建大量变量的站点。因此,如果不重置会话变量,我想检查域是否相同的onRequestStart。
这有意义吗,有更好的解决方案吗?
最佳答案
回答您的第一个问题,是的。您可以直接调用onSessionstart,如下所示:
<cfset onSessionstart()>
但是,所有要做的就是启动会话,并允许您在新会话启动时执行某些代码。必要时,CF会自动开始新的会话。
继续阅读似乎要设置域特定的会话变量。可以采用多种方法来完成此操作,但最不可行的方法可能是再次调用onSessionstart方法。我说这的原因是,无论您在onRequestStart方法中做什么,都可以/应该在onSessionstart中做。也就是说,onSessionstart中提供了onRequestStart中用户正在使用的任何域中可用的任何信息。
这样,您就可以在网站代码中的任何位置设置会话变量。不必在onSessionstart中完成。