By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,704 Members | 1,076 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,704 IT Pros & Developers. It's quick & easy.

Session Variable naming conventions.

P: n/a
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

Mar 10 '07 #1
Share this Question
Share on Google+
17 Replies


P: n/a
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

--
Site: http://www.eggheadcafe.com
UnBlog: http://petesbloggerama.blogspot.com
Short urls & more: http://ittyurl.net


"Control Freq" wrote:
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

Mar 10 '07 #2

P: n/a
Control Freq wrote:
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...

Mar 11 '07 #3

P: n/a
Hi
The name is camel but it is not mandated for session variables. I use all
uppercase.
Mark
>

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
Mar 11 '07 #4

P: n/a
"mark carew" <ma*******@magicwanddept.com.auwrote in message
news:4o*****************************@40tude.net...
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...
Mar 11 '07 #5

P: n/a
I thought the name was Hungarian Notation.

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

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

Mar 11 '07 #6

P: n/a
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

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/
===================================
"Bjorn Sagbakken" <bj*****@online.nowrote in message news:fO********************@telenor.com...
>I thought the name was Hungarian Notation.

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

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


Mar 11 '07 #7

P: n/a
"Control Freq" <ni**@nhthomas.freeserve.co.ukwrote in message
news:11**********************@c51g2000cwc.googlegr oups.com...
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
Mar 11 '07 #8

P: n/a
John Saunders wrote:
"Control Freq" <ni**@nhthomas.freeserve.co.ukwrote in message
news:11**********************@c51g2000cwc.googlegr oups.com...
>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.

--
Göran Andersson
_____
http://www.guffa.com
Mar 11 '07 #9

P: n/a
"Göran Andersson" <gu***@guffa.comwrote in message
news:Oe**************@TK2MSFTNGP05.phx.gbl...
John Saunders wrote:
>"Control Freq" <ni**@nhthomas.freeserve.co.ukwrote in message
news:11**********************@c51g2000cwc.googleg roups.com...
>>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
Mar 12 '07 #10

P: n/a
John Saunders wrote:
"Göran Andersson" <gu***@guffa.comwrote in message
news:Oe**************@TK2MSFTNGP05.phx.gbl...
>John Saunders wrote:
>>"Control Freq" <ni**@nhthomas.freeserve.co.ukwrote in message
news:11**********************@c51g2000cwc.google groups.com...
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.

--
Göran Andersson
_____
http://www.guffa.com
Mar 12 '07 #11

P: n/a
On 12 Mar, 02:44, "John Saunders" <john.saunders at trizetto.com>
wrote:
"Göran Andersson" <g...@guffa.comwrote in message

news:Oe**************@TK2MSFTNGP05.phx.gbl...


John Saunders wrote:
"Control Freq" <n...@nhthomas.freeserve.co.ukwrote in message
news:11**********************@c51g2000cwc.googleg roups.com...
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

>
John- Hide quoted text -

- Show quoted text -

Mar 12 '07 #12

P: n/a
JDC
On Mar 12, 2:42 pm, "Control Freq" <n...@nhthomas.freeserve.co.uk>
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

Mar 12 '07 #13

P: n/a
"JDC" <je**************@gmail.comwrote in message
news:11**********************@q40g2000cwq.googlegr oups.com...
smells). And what happens when a variable is referenced across pages
(which is part of reason for using them)?
Yes, I was wondering that... :-)
Mar 12 '07 #14

P: n/a
On Mar 12, 11:42 am, "JDC" <jeremy.d.coll...@gmail.comwrote:
On Mar 12, 2:42 pm, "Control Freq" <n...@nhthomas.freeserve.co.uk>
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

Mar 12 '07 #15

P: n/a
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" <kc********@gmail.comwrote in message
news:11**********************@q40g2000cwq.googlegr oups.com...
On Mar 12, 11:42 am, "JDC" <jeremy.d.coll...@gmail.comwrote:
>On Mar 12, 2:42 pm, "Control Freq" <n...@nhthomas.freeserve.co.uk>
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

Mar 13 '07 #16

P: n/a
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.

BillE wrote:
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" <kc********@gmail.comwrote in message
news:11**********************@q40g2000cwq.googlegr oups.com...
>On Mar 12, 11:42 am, "JDC" <jeremy.d.coll...@gmail.comwrote:
>>On Mar 12, 2:42 pm, "Control Freq" <n...@nhthomas.freeserve.co.uk>
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


--
Göran Andersson
_____
http://www.guffa.com
Mar 13 '07 #17

P: n/a

"BillE" <be****@datamti.comwrote in message
news:%2****************@TK2MSFTNGP02.phx.gbl...
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
Mar 13 '07 #18

This discussion thread is closed

Replies have been disabled for this discussion.