System Session Variable VS. Own-declared 'Session' Variable

  • Thread starter Thread starter chowchho
  • Start date Start date
C

chowchho

I am new to ASP.NET and most of my time spending on windows application. In
my Windows application, I used to create a class called MySession and and
instantiate it at the first page and pass around from form to form.

My quesitons are:
1) Does this concept same with the Session in ASP.NET?
2) Can I use the MySession method in ASP.NET?
3) Wht's the benefit of Session over own-declared session class?

Thank all.


Regards,
Chow
 
Thank for your explanation.
But is it a good practice to declare our own class of session insteads of
using the system one? In my opinion, own session class is more easy to manage
and no time-out issue.

Thank.

Aidy said:
Asp.net gives you a built-in object called Session that lets you store
whatever you want in it;

Session["UserID"] = 123;
Session["Username"] = "Hello";
User user = new User();
Session["UserObject"] = user;

So you could create your own MySession class and just store it in the
Session object;

MySession s = new MySession();
Session["SessionObject"] = s;

then retrieve it like this;

MySession s = (MySession) Session["SessionObject"];

If you look at the global.asax page you can code up a Session start event,
this is fired when the user first visits your site and this is where you
would instantiate the object and store it in the Session;

void Session_Start(object sender, EventArgs e)
{
... code here
}

chowchho said:
I am new to ASP.NET and most of my time spending on windows application. In
my Windows application, I used to create a class called MySession and and
instantiate it at the first page and pass around from form to form.

My quesitons are:
1) Does this concept same with the Session in ASP.NET?
2) Can I use the MySession method in ASP.NET?
3) Wht's the benefit of Session over own-declared session class?

Thank all.


Regards,
Chow
 
re:
!> But is it a good practice to declare our own class of session insteads of
!> using the system one? In my opinion, own session class is more easy to manage
!> and no time-out issue.

There's no problem at all with using your own version of Session,
instead of the built-in one, as long as you know what you're doing.

Just place your class file ( *.cs or *.vb ) in the App_Code directory of your app,
and it will be automatically compiled, or manually compile an assembly
from your class file and place it in the /bin directory of your app.




Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
chowchho said:
Thank for your explanation.
But is it a good practice to declare our own class of session insteads of
using the system one? In my opinion, own session class is more easy to manage
and no time-out issue.

Thank.

Aidy said:
Asp.net gives you a built-in object called Session that lets you store
whatever you want in it;

Session["UserID"] = 123;
Session["Username"] = "Hello";
User user = new User();
Session["UserObject"] = user;

So you could create your own MySession class and just store it in the
Session object;

MySession s = new MySession();
Session["SessionObject"] = s;

then retrieve it like this;

MySession s = (MySession) Session["SessionObject"];

If you look at the global.asax page you can code up a Session start event,
this is fired when the user first visits your site and this is where you
would instantiate the object and store it in the Session;

void Session_Start(object sender, EventArgs e)
{
... code here
}

chowchho said:
I am new to ASP.NET and most of my time spending on windows application. In
my Windows application, I used to create a class called MySession and and
instantiate it at the first page and pass around from form to form.

My quesitons are:
1) Does this concept same with the Session in ASP.NET?
2) Can I use the MySession method in ASP.NET?
3) Wht's the benefit of Session over own-declared session class?

Thank all.


Regards,
Chow
 
I am new to ASP.NET and most of my time spending on windows application. In
my Windows application, I used to create a class called MySession and and
instantiate it at the first page and pass around from form to form.

My quesitons are:
1) Does this concept same with the Session in ASP.NET?
2) Can I use the MySession method in ASP.NET?
3) Wht's the benefit of Session over own-declared session class?

Thank all.


Regards,
Chow

It might not be so easy to "pass it from page to page", as the
page-classes themselves live only long enough to serve a single
request. Every request is handled by a fresh instance of the page.
This means that you can't just access a property of an instance of some
other page, as that instance does not exist.

An other "solution" that might occur to you is to use a singleton.
DO NOT DO THAT. The web application is a single application that serves
a number of users. If you use a singleton to store information, then
EVERY user sees the same information. This might or might not be what
you want.

That is the reason that the Session is available in web applications:
here you can store user-specific information (or rather *session*
specific information). This session usually depends on a temporary
cookie.

Hans Kesting
 
Back
Top