So far I\'ve been using Session to pass some variables from one page to another. For instance user role. When a user logs in to the web application the role id of the user i
They are two very different things.
Any kind of data can be stored in Session. It then must be casted however.But static fields accept data with the correct datatype only.
It's often helpful to abstract Session values with a helper class. This can improve testability and also allows you to strongly type properties and perform the cast in the internals of the class.
Example:
public List UserRoles
{
get
{
// optionally check that the value is indeed in session, otherwise this
// will throw
return (List)Session["UserRoles"];
}
}
See also: