See this is what doesn't make sense then -

The error is here:
277 :   <cfscript>
278 :           var scope = 0;
279 :           return structKeyExists(getScope(), getKey());
280 :   </cfscript>
281 : </cffunction>

Not in the

//the best way of checking if sessions are enabled
try
{
       session[arguments.key] = StructNew();
       setIsSessionEnabled(true);
}
catch(Any exc)
{
       //don't do anything really, we're just using this as a 1 time check
}

Section

So how did it bypass the session?

Silly question.. are you actually using the session cache?

Mark

On Fri, Dec 11, 2009 at 8:01 AM, Ryan Lynch <[email protected]> wrote:

> I've had sessions disabled for a long time.  And restarting the server
> doesn't fix the problem.  I've actually run into this problem on other
> CFM7 Development servers in the past, but I wasn't using Transfer in a
> current project so I didn't look into the problem any further.  I'm
> scratching my head trying to figure this one out.  Theres actually a
> problem with that stack trace though, the line number for the error
> should is 275 in the v1.1 source, not 279.
>
> On Dec 10, 2:19 pm, Mark Mandel <[email protected]> wrote:
> > That's weird, I'm pretty sure that is unit tested, and works... I will
> have
> > to double check.
> >
> > You sure you didn't turn off session variables after init'ing Transfer?
> > Transfer only does a Session check at load.
> >
> > Looking at the error it looks like this may be the case, as the error
> isn't
> > coming from within the Session Facade check, it happens when after that
> when
> > trying to access a given scope.
> >
> > Mark
> >
> >
> >
> >
> >
> > On Fri, Dec 11, 2009 at 3:30 AM, Ryan Lynch <[email protected]> wrote:
> > > This relates to Transfer v1.1 on ColdFusion MX7.
> >
> > > I've run into an issue with transfer when the Session scope is
> > > disabled.  In the configure method of
> > > transfer.com.facade.SessionFacade, there is a try catch that is
> > > supposed to determine if sessions are enabled, and configure the
> > > facade accordingly, here is the code starting on line 31:
> >
> > > //the best way of checking if sessions are enabled
> > > try
> > > {
> > >        session[arguments.key] = StructNew();
> > >        setIsSessionEnabled(true);
> > > }
> > > catch(Any exc)
> > > {
> > >        //don't do anything really, we're just using this as a 1 time
> check
> > > }
> >
> > > The problem is that even though sessions are disabled, and trying to
> > > access the scope should throw an error here, it doesn't.  As a result
> > > the IsSessionEnabled property on the facade is set to "true", and
> > > later when the configured instance tries to access the scope the error
> > > is correctly thrown uncaught.  Below is the stack trace of the error.
> >
> > > ***Error and Stack
> > >
> Trace*******************************************************************
> > > The requested scope session has not been enabled.
> >
> > > Before session variables can be used, the session state management
> > > system must be enabled using the CFAPPLICATION tag.
> >
> > > The error occurred in C:\CFusionMX7\wwwroot\transfer\com\facade
> > > \AbstractBaseFacade.cfc: line 279
> > > Called from C:\CFusionMX7\wwwroot\transfer\com\facade
> > > \AbstractBaseFacade.cfc: line 261
> > > Called from C:\CFusionMX7\wwwroot\transfer\com\facade
> > > \AbstractBaseFacade.cfc: line 103
> > > Called from C:\CFusionMX7\wwwroot\transfer\com\cache
> > > \SoftReferenceHandler.cfc: line 109
> > > Called from C:\CFusionMX7\wwwroot\transfer\com\cache
> > > \SoftReferenceHandler.cfc: line 93
> > > Called from C:\CFusionMX7\wwwroot\transfer\com\cache
> > > \SoftReferenceHandler.cfc: line 68
> > > Called from C:\CFusionMX7\wwwroot\transfer\com\cache
> > > \SoftReferenceHandler.cfc: line 57
> > > Called from C:\CFusionMX7\wwwroot\transfer\com\cache\CacheManager.cfc:
> > > line 71
> > > Called from C:\CFusionMX7\wwwroot\transfer\com\Transfer.cfc: line 731
> > > Called from C:\CFusionMX7\wwwroot\transfer\com\Transfer.cfc: line 210
> > > 277 :   <cfscript>
> > > 278 :           var scope = 0;
> > > 279 :           return structKeyExists(getScope(), getKey());
> > > 280 :   </cfscript>
> > > 281 : </cffunction>
> >
> > > --
> > > Before posting questions to the group please read:
> >
> > >http://groups.google.com/group/transfer-dev/web/how-to-ask-support-qu.
> ..
> >
> > > You received this message because you are subscribed to the Google
> Groups
> > > "transfer-dev" group.
> > > To post to this group, send email to [email protected]
> > > To unsubscribe from this group, send email to
> > > [email protected]
> > > For more options, visit this group at
> > >http://groups.google.com/group/transfer-dev?hl=en
> >
> > --
> > E: [email protected]
> > T:http://www.twitter.com/neurotic
> > W:www.compoundtheory.com
>
> --
> Before posting questions to the group please read:
>
> http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer
>
> You received this message because you are subscribed to the Google Groups
> "transfer-dev" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/transfer-dev?hl=en
>



-- 
E: [email protected]
T: http://www.twitter.com/neurotic
W: www.compoundtheory.com

-- 
Before posting questions to the group please read:
http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer

You received this message because you are subscribed to the Google Groups 
"transfer-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/transfer-dev?hl=en

Reply via email to