Session State doesn't persist after postback (code: C#)

G

Guest

I'm saving some values to the Session state and get some strange results.

To be short I'll write example code and standart behavior:

Code Example:
/////////////////////////////////////////////////////////////////////////////////////////

private void WriteToSessionButton_Click(object sender, , System.EventArgs e)
{
Session["something"] = "My value";
}
private void CheckSessionButton_Click(object sender, , System.EventArgs e)
{
if(Session["something"] != null)
{
SessionVariable_Label.Text = Session["something"].ToString();
}
else
{
SessionVariable_Label.Text = "N/A";
}
SessionId_Label.Text = Session.SessionID;
}

/////////////////////////////////////////////////////////////////////////////////////////
TYPICAL (CORRECT) BEHAVIOUR:

When I run my ASP.NET procejt from localhost
(http://localhost/MySessionProject/Default.aspx) after clreating required
Session variable by clicking the WriteToSessionButton button, I check Session
variables by clicking CheckSessionButton button.
The values are correct and after each Post_Back, no matter how many times I
click the buttons everything works just like it's suppost to be. I get the
Session["something"] value and same SessionId after each Post_Back.

THE PROBLEM:

However, when I open my project substituting "localhost" with My computer
name like this http://MyComputerName/MySessionProject/Default.aspx, after
creating Session variable and clicking CheckSessionButton button I get empty
variable (SessionVariable_Label.Text = "N/A") and the Session.SessionId value
is different after each Post_Back.

This behaviour is not random. It happens every time.

localhost - Session variable and SessionId remains;
MyComputerName - Session variable dissapears, Session.SessionId changes
after each Post_Back.

ABOUT SESSION STATE:
I tried InProc and StateServer configurations.

OTHER INFO:
And it's not page or project specific. It happens with any page or project.

It's also not machine (computer) specific as I tried it other development
computer in our network and got the same results.

I have Intel Pentium 2.8 DualCore CPU on both developement machines.

Network managed by ActiveDirectory.
 
Z

zzzxtreme

i had same problem with session not persisting
after tireless research, i gave up on windows2003 troubleshooting, and
just switch to sql server session
( i think MSDE works too)
 
G

Guest

Thank you for your reply, but I forgot to mention that I'm using Windows XP
Professional. And I had never experienced such problems before with windows
XP and Windows 2000.

I guess maybe it has something to do with DualCore processors. However at my
previous job we had App server with 4 cpus and there were no problems with
Session state.

Any way, thank you one more time.

If any one else has some other sugestions or thoughts, you're welcome to
post :)
 
G

Guest

hi,

I just test your sample code, just for beeing curious.
I did not face that problem, iot works fine
 
B

Bruce Barker

this is expected behavior with cookie based sessions. the session id is
store in a cookie, and sent by the browser on each request or post. session
cookies are tied to the domain and site.

to the browser

http://myservername/mysite
http://localhost//mysite
http://myipaddress/mysite

are three different servers and cookies and thus sessions are not shared
between them. you can switch to cookieless sessions to get around this (the
session id is added to the url, so changing servername has no effect).

-- bruce (sqlwork.com)






Aidas Pasilis said:
I'm saving some values to the Session state and get some strange results.

To be short I'll write example code and standart behavior:

Code Example:
/////////////////////////////////////////////////////////////////////////////////////////

private void WriteToSessionButton_Click(object sender, , System.EventArgs
e)
{
Session["something"] = "My value";
}
private void CheckSessionButton_Click(object sender, , System.EventArgs e)
{
if(Session["something"] != null)
{
SessionVariable_Label.Text = Session["something"].ToString();
}
else
{
SessionVariable_Label.Text = "N/A";
}
SessionId_Label.Text = Session.SessionID;
}

/////////////////////////////////////////////////////////////////////////////////////////
TYPICAL (CORRECT) BEHAVIOUR:

When I run my ASP.NET procejt from localhost
(http://localhost/MySessionProject/Default.aspx) after clreating required
Session variable by clicking the WriteToSessionButton button, I check
Session
variables by clicking CheckSessionButton button.
The values are correct and after each Post_Back, no matter how many times
I
click the buttons everything works just like it's suppost to be. I get the
Session["something"] value and same SessionId after each Post_Back.

THE PROBLEM:

However, when I open my project substituting "localhost" with My computer
name like this http://MyComputerName/MySessionProject/Default.aspx, after
creating Session variable and clicking CheckSessionButton button I get
empty
variable (SessionVariable_Label.Text = "N/A") and the Session.SessionId
value
is different after each Post_Back.

This behaviour is not random. It happens every time.

localhost - Session variable and SessionId remains;
MyComputerName - Session variable dissapears, Session.SessionId changes
after each Post_Back.

ABOUT SESSION STATE:
I tried InProc and StateServer configurations.

OTHER INFO:
And it's not page or project specific. It happens with any page or
project.

It's also not machine (computer) specific as I tried it other development
computer in our network and got the same results.

I have Intel Pentium 2.8 DualCore CPU on both developement machines.

Network managed by ActiveDirectory.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,015
Latest member
AmbrosePal

Latest Threads

Top