session - 是否可以在 Application.cfc 中设置 session 变量,然后从任何应用程序页面检索它?

标签 session coldfusion application.cfc

根据我提供的示例,我希望 index.cfm 显示 hello 我怎样才能做到这一点?

应用程序.cfc

<cfcomponent>
    <cfset this.sessionManagement = true /> 

    <cffunction name="onSessionStart">
        <cfset SESSION.myVar = "hello">
    </cffunction>

</cfcomponent>

索引.cfm

<html>
    <head>

    <title>Testing</title>

    </head>

    <body>
        <cfoutput>#SESSION.myVar#</cfoutput>
    </body>
</html>

我发现当我添加

<cfinvoke component="Application" method="onSessionStart">

到index.cfm它可以工作,但是每次刷新页面时所有变量都会被覆盖。

最佳答案

您需要为您的应用程序命名,例如:

<cfset this.name = "foo">

在您的 Application.cfc 伪构造函数中。否则CF无法创建应用程序,因此无法将 session 与应用程序关联起来。

关于session - 是否可以在 Application.cfc 中设置 session 变量,然后从任何应用程序页面检索它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8051782/

相关文章:

coldfusion - 是否有 ColdFusion 函数可以检查 Web 服务器上的文件是否被锁定?

coldfusion - 覆盖 Application.cfc 中的 onMissingTemplate 处理

PHP 总是创建一个新 session

php - 使用PHP登录系统

mysql - 这个简短的过程有什么问题(MySQL)

c# - 通过自动化从 Word 转换时,PDF 中的字符间距不均匀

forms - CFML注册表单烦恼——encodeForHTMLAttribute的正确使用?

c# - 在 session 中存储和访问字典值

coldfusion - 通过根代理扩展 Application.cfc 时如何防止 <cfincludes> 中断?

coldfusion - Application.cfc 将值扩展到子文件夹中