The process of serving web pages is inherently stateless. By default, each request to a web server is isolated from every other request that a user might make. This is a fine model for serving static web pages, but it’s not very useful for full-featured applications. To be useful, applications must keep track of state. This section describes the different options that web developers have for storing state.
The Session Object
When a user browses to a web page served by IIS, IIS considers it the start of a session for that user. A session is an abstract concept that refers to the period of time within which a particular user is interacting with a web application. Although it’s easy to determine when a session starts, it’s not so easy to know when that session ends. This is because of the inherent disconnectedness of web browsing. After any given web request is serviced, IIS doesn’t really know whether the user will issue more requests (browse to more pages). For this reason, IIS establishes a session timeout period. If no new requests are received from a user after a given amount of time, IIS considers that session to have ended.
A session corresponds to a single use of a web application by a single user. To assist the web application in maintaining state for the duration of a session, ASP.NET provides an intrinsic object called the Session object. When a session begins, ASP.NET instantiates a Session object. During processing of web requests, the application can ...