将会话变量重命名为coldfusion中的变量范围以限制竞争条件

时间:2014-05-21 06:18:24

标签: session coldfusion

我一直在使用一些使用相当陈旧的会话数据的代码。

在整个网站的多个区域,我们致电

#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;总是像我们希望的那样准确。

0 个答案:

没有答案