When retrieving information from a multidimensional array stored by SessionPro, the upper bound of each dimension will be lost.
To reproduce the problem, do the following:
1. Create a file called Persist.asp. Enter the following code into Persist.asp:
<%@ LANGUAGE="VBSCRIPT" %>
<%
Dim vArray(3,3)
Set SASession = Server.CreateObject("SoftArtisans.SASessionPro.1")
vArray(0,0) = "Who"
vArray(0,1) = "Loves"
vArray(0,2) = "The"
vArray(0,3) = "Sun"
vArray(1,0) = "Who"
vArray(1,1) = "Loves"
vArray(1,2) = "The"
vArray(1,3) = "Wind"
vArray(2,0) = "Who"
vArray(2,1) = "Loves"
vArray(2,2) = "The"
vArray(2,3) = "Rain"
vArray(3,0) = "Ba ba"
vArray(3,1) = "Ba ba"
vArray(3,2) = "Not"
vArray(3,3) = "Everyone"
SASession("vArray") = vArray
%>
2. Create a file named Retrieve.asp. Enter the following code into Retrieve.asp:
<%@ LANGUAGE="VBSCRIPT" %>
<%
Dim vArray, lCnt, lCnt2
Set SASession = Server.CreateObject("SoftArtisans.SASessionPro.1")
SASession.RestoreSessionState
vArray = SASession("vArray")
For lCnt = 0 to UBound(vArray, 1)
For lCnt2 = 0 to UBound(vArray, 2)
Response.Write vArray(lCnt, lCnt2) & "<BR>"
Next
Next
%>
3. Run Persist.asp, then Retrieve.asp. Note the missing values. |