Session Variable naming conventions.

C

Control Freq

Hi,
Not sure if this is the right NG for this, but, is there a convention
for the variable names of a Session variable?

I am using .NET 2.0 in C#. I am new to all this .NET stuff, So, any
guidance appreciated.

Regards
 
G

Guest

You can call your Session variable "Hamburger", if that "floats your boat".
What's important is that they make sense to the next developer who comes
along after you get a better job and leave...
Peter
 
J

James Irvine

Control said:
Hi,
Not sure if this is the right NG for this, but, is there a convention
for the variable names of a Session variable?

I am using .NET 2.0 in C#. I am new to all this .NET stuff, So, any
guidance appreciated.

Regards


Isn't there some formalized naming convention spec along these lines?
It has a name, which escapes me, but goes something like:

no spaces, use one string, starting with a lowercase character, then use
caps for each new word, i.e:

currentReportingQuarter

tblEmployees

rptMonthlySales


something like that...
 
M

mark carew

Hi
The name is camel but it is not mandated for session variables. I use all
uppercase.
Mark
 
M

Mark Rae

The name is camel but it is not mandated for session variables. I use all
uppercase.

Naming conventions aren't *mandated* for anything at all, otherwise they
wouldn't be conventions...
 
J

Juan T. Llibre

Hungarian notation is a special case of pascal notation.

With Hungarian notation, you also include information in the name of the variable,
i.e., whether it is numeric, has a decimal value, or is text...or it is whatever

That helps to identify the type of information being stored.
Hungarian notation is not favored by many programmers.

Another variation is Pascal notation, which capitalizes all words.

pascal notation : LikeThis
camel notation : likeThis
hungarian notation : txtLikeThis, rstLikeThis

Yet another one uses underscores : like_this or like_This or Like_This_and_That
 
J

John Saunders

Control Freq said:
Hi,
Not sure if this is the right NG for this, but, is there a convention
for the variable names of a Session variable?

I am using .NET 2.0 in C#. I am new to all this .NET stuff, So, any
guidance appreciated.

I'm not sure what you mean whan you say "session variable". Do you mean
something accessed via Session["variable"] (Session("variable") in VB.NET)?

John
 
?

=?ISO-8859-1?Q?G=F6ran_Andersson?=

John said:
Control Freq said:
Hi,
Not sure if this is the right NG for this, but, is there a convention
for the variable names of a Session variable?

I am using .NET 2.0 in C#. I am new to all this .NET stuff, So, any
guidance appreciated.

I'm not sure what you mean whan you say "session variable". Do you mean
something accessed via Session["variable"] (Session("variable") in VB.NET)?

John

Yes. Entries put in the Session.Item collection is generally referred to
as session variables.
 
J

John Saunders

Göran Andersson said:
John said:
Control Freq said:
Hi,
Not sure if this is the right NG for this, but, is there a convention
for the variable names of a Session variable?

I am using .NET 2.0 in C#. I am new to all this .NET stuff, So, any
guidance appreciated.

I'm not sure what you mean whan you say "session variable". Do you mean
something accessed via Session["variable"] (Session("variable") in
VB.NET)?

John

Yes. Entries put in the Session.Item collection is generally referred to
as session variables.

Thanks, I was aware of that. I was asking the OP.

John
 
?

=?ISO-8859-1?Q?G=F6ran_Andersson?=

John said:
Göran Andersson said:
John said:
Hi,
Not sure if this is the right NG for this, but, is there a convention
for the variable names of a Session variable?

I am using .NET 2.0 in C#. I am new to all this .NET stuff, So, any
guidance appreciated.
I'm not sure what you mean whan you say "session variable". Do you mean
something accessed via Session["variable"] (Session("variable") in
VB.NET)?

John
Yes. Entries put in the Session.Item collection is generally referred to
as session variables.

Thanks, I was aware of that. I was asking the OP.

John

Ok. I got the impression from your question that you were unfamiliar
with the term, as you put quotation marks around it.
 
C

Control Freq

John said:
Hi,
Not sure if this is the right NG for this, but, is there a convention
for the variable names of a Session variable?
I am using .NET 2.0 in C#. I am new to all this .NET stuff, So, any
guidance appreciated.
I'm not sure what you mean whan you say "session variable". Do you mean
something accessed via Session["variable"] (Session("variable") in
VB.NET)?
John
Yes. Entries put in the Session.Item collection is generally referred to
as session variables.

Thanks, I was aware of that. I was asking the OP.

Hi,
Thanks to everyone who took the time to respond to my OP.
Yes, I was referring to Session["SomeName"] = "XYZ".
I wasn't specifically meaning the style of writing the Session
Variable name, i.e using camel casing or pascal casing.
I was really wanting to know if the variable name had the Application
name, and page name embedded in it. I understand that large web apps
might use a lot of session variables, so is it a good idea to separate
them using something like "OrderEntry_DespatchDate", or
"CustomerEntry_ContactName", using the first words to specify which
screen the variable is used?

Otr, is there a better way of doing this sort of thing?

Thanks
 
J

JDC

Yes, I was referring to Session["SomeName"] = "XYZ".
I wasn't specifically meaning the style of writing the Session
Variable name, i.e using camel casing or pascal casing.
I was really wanting to know if the variable name had the Application
name, and page name embedded in it. I understand that large web apps
might use a lot of session variables, so is it a good idea to separate
them using something like "OrderEntry_DespatchDate", or
"CustomerEntry_ContactName", using the first words to specify which
screen the variable is used?

Otr, is there a better way of doing this sort of thing?

I think that putting the page name as part of the variable name could
cause maintenance problems in the future (or at the very least code
smells). And what happens when a variable is referenced across pages
(which is part of reason for using them)?

I suppose you could use your full namespace:
Session["MyCompany.MyApp.XYZ"], but again once you start putting stuff
like this in strings you're asking for maintenance troubles.

Here's what I tend to do:
- use the same naming convention as for classes (i.e. pascal
notation), and just use a sensible, meaningful name (just pretend
you're naming a function and you won't go far wrong).
- use a base class for my pages, and wrap session variables into a
strongly-typed property in the base class. I can provide an example if
you like.

HTH

JC
 
M

Mike Hofer

Yes, I was referring to Session["SomeName"] = "XYZ".
I wasn't specifically meaning the style of writing the Session
Variable name, i.e using camel casing or pascal casing.
I was really wanting to know if the variable name had the Application
name, and page name embedded in it. I understand that large web apps
might use a lot of session variables, so is it a good idea to separate
them using something like "OrderEntry_DespatchDate", or
"CustomerEntry_ContactName", using the first words to specify which
screen the variable is used?
Otr, is there a better way of doing this sort of thing?

I think that putting the page name as part of the variable name could
cause maintenance problems in the future (or at the very least code
smells). And what happens when a variable is referenced across pages
(which is part of reason for using them)?

I suppose you could use your full namespace:
Session["MyCompany.MyApp.XYZ"], but again once you start putting stuff
like this in strings you're asking for maintenance troubles.

Here's what I tend to do:
- use the same naming convention as for classes (i.e. pascal
notation), and just use a sensible, meaningful name (just pretend
you're naming a function and you won't go far wrong).
- use a base class for my pages, and wrap session variables into a
strongly-typed property in the base class. I can provide an example if
you like.

HTH

JC

Call me lazy, but I wrote a session wrapper class that encapsulated
all the session variables in properties. Like so:

Imports System.Web.SessionState

Friend NotInheritable Class MySession

Private Const CompanySessionKey As String = "Company"

Private Shared ReadOnly Property Session As HttpSessionState
Get
Return HttpContext.Current.Session
End Get
End Property

Public Shared Property Company As String
Get
Return DirectCast(Session(CompanySessionKey), String)
End Get
Set(ByVal value As String)
Session(CompanySessionKey) = value
End Set
End Property

End Class

That way, I don't have to think about the session variable names
anywhere else in the code. No chance of typos. And the constants are
defined in one place, close to the properties that use them.

The calling code consequently looks like this:

lblCompanyName.Text = MySession.Company

Code it once, and forget about it. It's a lesson I learned from the
configuration settings stuff in ASP.NET 2.0, and it was well worth the
learning.

Hope this helps!
Mike
 
B

BillE

In IE7, if the same web app is opened on multiple tabs the session variables
are shared between the tabs - changing the value of a variable in one tab
changes it for all tabs. This is also true if the user opens a new browser
instance with Ctrl-N key sequence.

So if I have Customer A open on tab 1, and Customer B open on tab 2, how do
you store the Customer ID in a session variable without it being changed by
activity on another tab?

Bill


Mike Hofer said:
Yes, I was referring to Session["SomeName"] = "XYZ".
I wasn't specifically meaning the style of writing the Session
Variable name, i.e using camel casing or pascal casing.
I was really wanting to know if the variable name had the Application
name, and page name embedded in it. I understand that large web apps
might use a lot of session variables, so is it a good idea to separate
them using something like "OrderEntry_DespatchDate", or
"CustomerEntry_ContactName", using the first words to specify which
screen the variable is used?
Otr, is there a better way of doing this sort of thing?

I think that putting the page name as part of the variable name could
cause maintenance problems in the future (or at the very least code
smells). And what happens when a variable is referenced across pages
(which is part of reason for using them)?

I suppose you could use your full namespace:
Session["MyCompany.MyApp.XYZ"], but again once you start putting stuff
like this in strings you're asking for maintenance troubles.

Here's what I tend to do:
- use the same naming convention as for classes (i.e. pascal
notation), and just use a sensible, meaningful name (just pretend
you're naming a function and you won't go far wrong).
- use a base class for my pages, and wrap session variables into a
strongly-typed property in the base class. I can provide an example if
you like.

HTH

JC

Call me lazy, but I wrote a session wrapper class that encapsulated
all the session variables in properties. Like so:

Imports System.Web.SessionState

Friend NotInheritable Class MySession

Private Const CompanySessionKey As String = "Company"

Private Shared ReadOnly Property Session As HttpSessionState
Get
Return HttpContext.Current.Session
End Get
End Property

Public Shared Property Company As String
Get
Return DirectCast(Session(CompanySessionKey), String)
End Get
Set(ByVal value As String)
Session(CompanySessionKey) = value
End Set
End Property

End Class

That way, I don't have to think about the session variable names
anywhere else in the code. No chance of typos. And the constants are
defined in one place, close to the properties that use them.

The calling code consequently looks like this:

lblCompanyName.Text = MySession.Company

Code it once, and forget about it. It's a lesson I learned from the
configuration settings stuff in ASP.NET 2.0, and it was well worth the
learning.

Hope this helps!
Mike
 
?

=?ISO-8859-1?Q?G=F6ran_Andersson?=

If you have two windows or tabs in the same session, they will be using
the same session variables. There is nothing that you can do to change that.
In IE7, if the same web app is opened on multiple tabs the session variables
are shared between the tabs - changing the value of a variable in one tab
changes it for all tabs. This is also true if the user opens a new browser
instance with Ctrl-N key sequence.

So if I have Customer A open on tab 1, and Customer B open on tab 2, how do
you store the Customer ID in a session variable without it being changed by
activity on another tab?

Bill


Mike Hofer said:
On Mar 12, 2:42 pm, "Control Freq" <[email protected]>
wrote:

Yes, I was referring to Session["SomeName"] = "XYZ".
I wasn't specifically meaning the style of writing the Session
Variable name, i.e using camel casing or pascal casing.
I was really wanting to know if the variable name had the Application
name, and page name embedded in it. I understand that large web apps
might use a lot of session variables, so is it a good idea to separate
them using something like "OrderEntry_DespatchDate", or
"CustomerEntry_ContactName", using the first words to specify which
screen the variable is used?
Otr, is there a better way of doing this sort of thing?
I think that putting the page name as part of the variable name could
cause maintenance problems in the future (or at the very least code
smells). And what happens when a variable is referenced across pages
(which is part of reason for using them)?

I suppose you could use your full namespace:
Session["MyCompany.MyApp.XYZ"], but again once you start putting stuff
like this in strings you're asking for maintenance troubles.

Here's what I tend to do:
- use the same naming convention as for classes (i.e. pascal
notation), and just use a sensible, meaningful name (just pretend
you're naming a function and you won't go far wrong).
- use a base class for my pages, and wrap session variables into a
strongly-typed property in the base class. I can provide an example if
you like.

HTH

JC
Call me lazy, but I wrote a session wrapper class that encapsulated
all the session variables in properties. Like so:

Imports System.Web.SessionState

Friend NotInheritable Class MySession

Private Const CompanySessionKey As String = "Company"

Private Shared ReadOnly Property Session As HttpSessionState
Get
Return HttpContext.Current.Session
End Get
End Property

Public Shared Property Company As String
Get
Return DirectCast(Session(CompanySessionKey), String)
End Get
Set(ByVal value As String)
Session(CompanySessionKey) = value
End Set
End Property

End Class

That way, I don't have to think about the session variable names
anywhere else in the code. No chance of typos. And the constants are
defined in one place, close to the properties that use them.

The calling code consequently looks like this:

lblCompanyName.Text = MySession.Company

Code it once, and forget about it. It's a lesson I learned from the
configuration settings stuff in ASP.NET 2.0, and it was well worth the
learning.

Hope this helps!
Mike
 
J

John Saunders

BillE said:
In IE7, if the same web app is opened on multiple tabs the session
variables are shared between the tabs - changing the value of a variable
in one tab changes it for all tabs. This is also true if the user opens a
new browser instance with Ctrl-N key sequence.

So if I have Customer A open on tab 1, and Customer B open on tab 2, how
do you store the Customer ID in a session variable without it being
changed by activity on another tab?

You don't store the customer id in a session variable.

Why do you want is stored in a Session variable?

John
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,599
Members
45,177
Latest member
OrderGlucea
Top