I ran across a thread on the CFWheels Google Group where someone was having problems with setting a session timeout. I remembered that I had the same problem a few weeks back. I didn’t think anything of it after I found a solution though. Now, since I’m not the only one having this problem, I thought I’d blog it.
So the problem in a nutshell is that if you try to set a timeout to a number of seconds, it no longer works. My suspicion is that this behavior changed in ColdFusion 9, but was backwards compatible with using a number of seconds as the sessionTimeout value. Like this:
this.sessionTimeout = "3600"
When you read the CF9 documentation for cfapplication, you find this note as the description for sessionTimeout:
Life span of session variables. CreateTimeSpan function and values in days, hours, minutes, and seconds, separated by commas.
I am almost completely using CF10 now, and it appears that the old way of setting a number of seconds no longer works at all. Instead, the revised code for the sessionTimeout value should be:
this.sessiontimeout = CreateTimeSpan(0, 4, 0, 0);
When I dump the THIS scope in Application.cfc, I get the following output in a CFWheels Application:
Hope this helps someone.
NOTE: Code samples above use CFScript. Could be just as easily achieved using.
Hi Brian, just a note that as far back as I can remember it has always been noted in the ColdFusion docs as the way to do it, and not the first way you had been using.
LikeLike
That may be true Andrew, but the app I inherited had it done the wrong way. I had also seen examples elsewhere using the wrong way. Hence my post 🙂
LikeLike