user724198
user724198

Reputation:

ASP.NET: Session Variable Question

As a quazi-newbie to asp.net, I have a question about session variables.

I'm building an intranet application for my company. Naturally it is a beast, and there are some variables (class objects) that need to be stored. Say, a class object named 'Driver' that has FirstName [String] and LastName [String].

Now say I store the object like this:

Dim objDriver as Driver

objDriver.FirstName = "Joe"
objDriver.LastName = "Smith"

Session.Contents("Driver") = objDriver

This code seems to execute and function quite well. Now my question is, if Suzy logs on a different computer and tries the application, will she see Joe's information when she executes

Dim objDriver as Driver

objDriver = Session.Contents("Driver")

If anyone could shed any light on this it would be greatly appreciated.

Thanks,

Jason

Upvotes: 1

Views: 157

Answers (4)

Alex
Alex

Reputation: 35417

No, Suzy will not see anything. To make that possible use the Application cache...

Sessions are identified by a unique identifier that can be read by using the SessionID property. When session state is enabled for an ASP.NET application, each request for a page in the application is examined for a SessionID value sent from the browser. If no SessionID value is supplied, ASP.NET starts a new session and the SessionID value for that session is sent to the browser with the response.

http://msdn.microsoft.com/en-us/library/ms178581.aspx

Instead use:

dim foo = HttpContext.Current.Application("foo");

and

HttpContext.Current.Application("foo") = foo;

Upvotes: 1

Brownman98
Brownman98

Reputation: 1065

Session objects exist per user per browser. So Suzy would have a session on Firefox but a different one on Internet Explorer. This is because each browser will have a unique cookie assigned.

Upvotes: 0

Oybek
Oybek

Reputation: 7243

Session is created per session as it can be understood. If you log in using, say, google Chrome and creates some variables, you'll not be able to access those variables from Firefox from the same computer.

Upvotes: 0

Chains
Chains

Reputation: 13167

Session state is specific to the browser session. So no, Susie won't see Joe's data. Even if Joe opens a new browser window on the same computer, he won't be in the same session anymore.

Application state may be a different story -- and you can look into that if you actually want to share variables in such a wide scope.

Upvotes: 0

Related Questions