This has been on my mind for a while now. I posted a thread a couple of weeks ago about my Session variables being lost across requests from the client to the server, and we came to the conclusion that it was because of the server having multiple asp.net worker processes, and that all requests from one IP were being distributed across these processes. So the session was being stored on the initial process, and all ensuing requests were along other processes where the session was not stored.

I also tried adding a variable to the application state to see if that worked, but this variable was also lost across requests.

At the moment I have one instance of a class (containing my logic and objects' info) that is being used by all users of the web app. I globally declare this instance in a module, and this module is being initialized in the Application_Start event in the Global.asax file.

What I cannot understand now is how this class maintains its state across requests. How does it keep all the objects contained in it if I do not even add the instance to the application or session state ?

Confused !