是否只能在某些子文件夹中启用CF会话管理?

时间:2009-09-23 18:52:05

标签: coldfusion

如果我正在构建高流量网站,并且我不想在首页上使用会话。是否可以为某些子文件夹中的页面启用会话,同时共享相同的应用程序范围?

谢谢!

2 个答案:

答案 0 :(得分:1)

我不相信。我的理解是会话设置是每个应用程序。但是,如果您只是使用应用程序范围来存储配置变量(或类似),那么您可以创建两个application.cfm / application.cfc文件,其中包含带有配置数据的共享文件。

答案 1 :(得分:1)

这是可能的,但要小心,因为你可能会发现你不想泄漏的东西。采用以下文件结构:

wwwroot
-- Application.cfc
-- index.cfm
-- Subfolder
---- Application.cfc
---- index.cfm

的Application.cfc:

<cfcomponent>
    <cfset this.name = "foobar" />
    <cfset this.applicationtimeout = CreateTimeSpan(1,0,0,0) />
    <cfset this.sessionmanagement = false />

    <cffunction name="onApplicationStart">
        <cfset Application.Started = Now() />
    </cffunction>

</cfcomponent>

index.cfm:

<cfdump var="#Application#">
<cfdump var="#Session#" />

子文件夹/的Application.cfc

<cfcomponent extends="Application">
    <cfset this.sessionmanagement = true />

</cfcomponent>

子文件夹/ index.cfm

<cfdump var="#Application#">
<cfdump var="#Session#">

根index.cfm中的转储将不显示cfid,sessionid,cftoken等的值。但是,Subfolder / index.cfm中的转储将显示所有常用的会话信息。两个index.cfm文件都将在Application范围中转储相同的启动值。