+1  A: 

Perhaps your browser doesn't store cookies correctly. Try setting session to cookieless mode and try again.

<sessionState mode="InProc" timeout="10000" cookieless="true" />
RaYell
I don't think it's a browser issue, I tried on both FF and Chrome!
Galilyou
Maybe it's IIS cookies handling problem. It wont hurt to try `cookieless` approach.
RaYell
A: 

You need to make sure Session is enabled with IIS as well as in the web.config.

Also, it's worth putting some logging on the Application Restart. You might have something else going wrong that is causing the whole app to reset.

Robin Day
hmm .. Not sure about the IIS settings.. will check!
Galilyou
IIS settings checked, and the question has been updated accordingly!
Galilyou
A: 

I had this happen with a page once. It turns out that I was doing a Session.Abandon() in a place that I did not realize was called in the execution sequence (it related to login and the way I was using the membership provider). As a debugging tip, I would recommend putting a breakpoint on every Session.Abandon() and making sure that it's not being called when you don't expect it.

Russell Steen
Well, i created a blank new app on the same machine with only one button when clicked will save a value to the session. The sessions till expires though.
Galilyou
A: 

This has happened to me a couple of times and the main culprits have always been.

Someone updated a file in the web application causing it to restart, this normally happens when someone decides to update something in the web.config without realising this causes all the sessions to be dropped.

The other thing that has caused it for me is a setting in IIS that defines how long sessions last, if you go into the properties of your virtual directory/web site and click configuration, on the options tab is a session timeout duration check this is enabled and set to a high enough value.

Gavin Draper
A: 

It turned to be a mistake of one of our team members, he was setting the session to be inproc though the site was distributed of 4 physical machines with Load-Balancing. I'm not sure if it's the problem though, but when I changed it to store the session in a SQL server, it worked! Will dig deeper this issue and report any further information I might get. Thanks you all Guys!

Galilyou