Tuesday, March 3, 2009

State management in ASP.NET

ASP.NET offers a number of places to store state, both on the client and server.

Application - Stored on the server and shared for all users. Does not expire. Deprecated by Cache (below).
Cache - Stored on the server and shared for all users. Can expire.
Session - Stored on the server. Unique for each user. Can expire.
ViewState - Stored in a hidden page input (by default). Does not expire.
Cookies - Stored at the client. Can expire. QueryString - Passed in the URL. Must be maintained with each request.
Context.Items - Only lasts for one request's lifetime. More.
Profile - Stores the data in the database. Can be used to retain user data over multiple request and session.

No comments: