Monday, March 22, 2010

Session variable disappearing

My site's been up for several years, and we get a few hundred
logins a day and we use plenty of session variables.

Last week we got an error:



An error occurred while evaluating the expression:

#session.Equipment.EqptDocumentID#

Error near line 345, column 22.



So I went to the CF document and on line 111 (not wrapped in
another cfif, so I know it's executing) I have this:

%26lt;cfif not
isdefined('session.Equipment.EqptDocumentID')%26gt;

You must choose a Document.%26lt;br%26gt;

%26lt;a href=''javascript:self.history.go(-1)''%26gt;Click here to
go back%26lt;/a%26gt;

%26lt;cfabort%26gt;

%26lt;/cfif%26gt;



in between lines 111 and 345,
session.Equipment.EqptDocumentID is used in several cfqueries
(SELECT ...... WHERE DocumentID=#session.Equipment.EqptDocumentID#)
without problem. And I do not use any StructClear or StructDeletes,
not is that Session variable reset in the middle.

The page gets about a dozen hits a day, this is the first
time that this has happened and it hasn't happened since.

Should I assume that CF had a hiccup?Session variable disappearing
are you %26lt;cflock%26gt;ing the session scope when you refer to
it? I think there are some issues with session vars whereby if 2+
users are using your site at the same time from the same ISP, and
IF that ISP is doing funny things with client IP addresses - hiding
behind firewalls etc so they appear to have the same IP, it's
possible for CF to lose track of which user had which session
variables.



i could be completely wrong, but have managed something
similar on an intranet site a while back where the network admins
had setup all the client boxes in such a way that they appeared to
come from the same IP.

No comments:

Post a Comment