Myself and two other users have observed eval_valid("session.MyVar") return .F. during a multi-page login process for a session variable that has already been created on a previous a5w page.
I have Alpha's Login component configured to call an "intermediate" login page (Page_B) that sets some session variables using something like "session.myVar = some_xbasic_variable". That intermediate page calls a page (Page_C) that hosts a Grid. When the user clicks a button on a Grid row, an ajax callback is made. That callback has something like this at the top:
On rare occasion the grid displays the "Error 1..." when the user clicks the button for the callback.
Why would it be that sometimes the AA web server under IIS forgets a session variable or thinks"eval_valid("session.myVar") is .F. ?
When this happened to me this morning, I checked all the error logs and could find nothing, except the "favicon" link in the login page was missing a "?" between the icon name and the random number argument. This was triggering an error in the event log about the bad URL path. But that occurred 3 minutes before I clicked the button on Page C.
Since discovering the above error, I have changed "eval_valid" to "variable_exists" and I have altered the code to guarantee the variables are indeed being set to CHAR types. The db fields are UNIQUEIDENTIFIER types in MS SQL and they appear as type CHAR when using "rs.data("myColumn") from a resultset on localhost. But to be sure there is no problem between the two types, I put a CONVERT(varchar(40), myColumn) on each of the GUID columns.
Build 5303 (Dev and server)
Session state is being held in ASP.NET SQL Provider
There is no config for session timeout on the publishing profile - I do not see any type of config option in profile.
I have Alpha's Login component configured to call an "intermediate" login page (Page_B) that sets some session variables using something like "session.myVar = some_xbasic_variable". That intermediate page calls a page (Page_C) that hosts a Grid. When the user clicks a button on a Grid row, an ajax callback is made. That callback has something like this at the top:
Code:
'-- Validations select case eval_valid("session.myVar") = .f. mRetMsg = "Error 1, blah, blah, blah" case eval_valid("session.myVar2") = .f. mRetMsg = "Error 2, blah, blah, blah" case ..... '-- other validations case else '-- all okay. Set remaining session variables end select '--- If validation error then return an alert message '--- Else return "location.href = apps_main_page.a5w"
Why would it be that sometimes the AA web server under IIS forgets a session variable or thinks"eval_valid("session.myVar") is .F. ?
When this happened to me this morning, I checked all the error logs and could find nothing, except the "favicon" link in the login page was missing a "?" between the icon name and the random number argument. This was triggering an error in the event log about the bad URL path. But that occurred 3 minutes before I clicked the button on Page C.
Since discovering the above error, I have changed "eval_valid" to "variable_exists" and I have altered the code to guarantee the variables are indeed being set to CHAR types. The db fields are UNIQUEIDENTIFIER types in MS SQL and they appear as type CHAR when using "rs.data("myColumn") from a resultset on localhost. But to be sure there is no problem between the two types, I put a CONVERT(varchar(40), myColumn) on each of the GUID columns.
Build 5303 (Dev and server)
Session state is being held in ASP.NET SQL Provider
There is no config for session timeout on the publishing profile - I do not see any type of config option in profile.
Comment