2009-09-23 5 views

Répondre

1

C'est possible, mais faites attention, car vous pourriez avoir des problèmes de fuite que vous ne voulez pas. Prenez la structure de fichier suivant:

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#" /> 

Subfolder/Application.cfc

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

</cfcomponent> 

Sous-dossier/index .cfm

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

Une décharge dans le index.cfm racine montrera aucune valeur pour cfid, sessionid, CFTOKEN, etc. Cependant, une décharge dans Subfolder/index.cfm affichera toutes les informations habituelles de session. Les deux fichiers index.cfm videront la même valeur démarrée dans la portée Application.

Dan

+0

dernière fois que j'essayé, étend = "Application" ne fonctionne pas. – Henry

+1

Bien sûr ... vous devez utiliser un ApplicationProxy. J'utilisais du code en direct qui utilisait extends = "scribble.Application" et je venais de supprimer le répertoire scribble. Plus sur ApplicationProxy à http://www.dansshorts.com/post/extending-the-root-application-cfc Désolé à ce sujet ... Dan –

+0

merci! impressionnant. – Henry

1

Je ne crois pas. Ma compréhension est que les paramètres de session sont par application. Toutefois, si vous utilisez simplement la portée de l'application pour stocker les variables de configuration (ou similaire), vous pouvez créer deux fichiers application.cfm/application.cfc qui incluent un fichier partagé avec les données de configuration.

+0

Je veux partager la même instance .. :) Coldbox – Henry

Questions connexes