我一直在使用一些使用相当陈旧的会话数据的代码。
在整个网站的多个区域,我们致电
#session.userdetails.profile.firstname#
或者我们在各种模板中传递会话变量或会话变量集合。
我们不时发现我们在处理数据方面存在一些问题。
因此,在阅读了大量关于使用CFLOCK的信息之后,我想知道做以下事情会更聪明:
在整个模板中使用这些变量时,不是围绕这些变量处理<cflock>
,而是将它们设置到新名称下的变量范围中,这样可以在可能调用数据的其他模板上调用它们。 ?
我们在框架中使用Fusebox 4,因此通过将会话变量设置为模型/控制器中的变量,我们是否可以最小化竞争条件的可能性?
<cflock scope="session" type="readonly" timeout="10">
<cfset variables.firstname = session.userdetails.profile.firstname >
</cflock>
然后在整个模板中,因为我们在链中建立了一个更高的锁,现在变量#variables.firstname#
可以最大限度地减少竞争条件的可能性?而不是在我们的模板中编写变量#session.userdetails.profile.firstname#
?
很抱歉,如果这被认为是一个如此愚蠢的问题,但我只想尝试一种简化的方法来利用这些变量,因为我们注意到从会话数据中检索到的数据不是&#39;总是像我们希望的那样准确。