G
Guest
I have a problem here that only seems to happen on the one new server that we are migrating our ASP.Net application to. The server is a Windows 2000 SP4 box. It initially had the .Net Framework version 1.1 installed on it. I installed the .Net Framework version 1.0 on it and upgraded it to use SP2. I then configured the web site to use 1.0 by using iisreg -s. Our application was developed using 1.0 SP2, so, to ensure that we would not have any backwards compatibility problems I installed 1.0 SP2 on the server. On one of the servers that it does work on properly it is a Windows 2000 SP3 box with only the 1.0 SP2 version of the Framework on it
I suspect that the problem lies with the fact that the server doesn't send the ASP.Net session ID to the cookie that is stored on the client
Here is the problem. I run the application from the server using the URL http://localhost/<ApplicationName>. If I use this URL, the application runs fine. The cookie information that stores the ASP.Net session ID is sent to the user’s browser successfully. However, when I run the application (doesn’t matter if I do it locally from the server or I do it from a remote machine) using the URL http://<ServerName>/<ApplicationName>, between web page requests the cookie is not sent to the browser. Because on the redirect we store information in the session, if that information is not there then we redirect to a Session Time-out page. The flow is as follows
1. User goes to the logon page and then, on success, is redirected to page 1. At this point, we save some user information into the session and the user is issued a Session ID
2. The user then navigates to another page. At this point we have an HTTPHandler that checks to see if the session exists by looking at specific variables. If they don't exist then the user is redirected to a Session Time-out page. Otherwise they continue to navigate
In the situation where it does work (as mentioned above) using the page trace feature, I can see in the "Server Variables" section that there is entry called "HTTP_COOKIE ASP.NET_SessionId=31ewwj2ejitz2p45oel3yqin", which identifies the current session. In the situation where it does not work and I look at the "Server Variables" and I do not see any entries for "HTTP_COOKIE". To me this means that the server didn't issue a cookie to the browser to identify the session ID
As I mentioned above, when I run the application using the http://<ServerName>/<ApplicationName> URL it does not work. When I use the URL http://localhost/<ApplicationName> it does work
Any help on this issue would be very much appreciated, and if any more information is required I would be happy to supply whatever I can. Thank you very much
Mik
I suspect that the problem lies with the fact that the server doesn't send the ASP.Net session ID to the cookie that is stored on the client
Here is the problem. I run the application from the server using the URL http://localhost/<ApplicationName>. If I use this URL, the application runs fine. The cookie information that stores the ASP.Net session ID is sent to the user’s browser successfully. However, when I run the application (doesn’t matter if I do it locally from the server or I do it from a remote machine) using the URL http://<ServerName>/<ApplicationName>, between web page requests the cookie is not sent to the browser. Because on the redirect we store information in the session, if that information is not there then we redirect to a Session Time-out page. The flow is as follows
1. User goes to the logon page and then, on success, is redirected to page 1. At this point, we save some user information into the session and the user is issued a Session ID
2. The user then navigates to another page. At this point we have an HTTPHandler that checks to see if the session exists by looking at specific variables. If they don't exist then the user is redirected to a Session Time-out page. Otherwise they continue to navigate
In the situation where it does work (as mentioned above) using the page trace feature, I can see in the "Server Variables" section that there is entry called "HTTP_COOKIE ASP.NET_SessionId=31ewwj2ejitz2p45oel3yqin", which identifies the current session. In the situation where it does not work and I look at the "Server Variables" and I do not see any entries for "HTTP_COOKIE". To me this means that the server didn't issue a cookie to the browser to identify the session ID
As I mentioned above, when I run the application using the http://<ServerName>/<ApplicationName> URL it does not work. When I use the URL http://localhost/<ApplicationName> it does work
Any help on this issue would be very much appreciated, and if any more information is required I would be happy to supply whatever I can. Thank you very much
Mik