可以在Application.cfc中设置会话变量,然后从任何应用程序页面中检索它吗?

Joh*_*ohn 3 coldfusion session application.cfc

通过我提供的示例,我希望index.cfm能够显示hello 我该怎么做?

的Application.cfc

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

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

</cfcomponent>
Run Code Online (Sandbox Code Playgroud)

index.cfm

<html>
    <head>

    <title>Testing</title>

    </head>

    <body>
        <cfoutput>#SESSION.myVar#</cfoutput>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我发现当我添加时

<cfinvoke component="Application" method="onSessionStart">
Run Code Online (Sandbox Code Playgroud)

它的工作原理是index.cfm,但每次刷新页面时都会覆盖所有变量.

Ada*_*ron 10

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

<cfset this.name = "foo">
Run Code Online (Sandbox Code Playgroud)

在Application.cfc伪构造函数中.否则CF无法创建应用程序,因此无法将会话与应用程序关联.