Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Session Variable naming conventions.

5 views
Skip to first unread message

Control Freq

unread,
Mar 10, 2007, 4:28:04 PM3/10/07
to
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

Peter Bromberg [C# MVP]

unread,
Mar 10, 2007, 5:45:00 PM3/10/07
to
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

James Irvine

unread,
Mar 10, 2007, 8:10:48 PM3/10/07
to


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...

mark carew

unread,
Mar 11, 2007, 3:11:03 AM3/11/07
to
Hi
The name is camel but it is not mandated for session variables. I use all
uppercase.
Mark

Mark Rae

unread,
Mar 11, 2007, 4:31:16 AM3/11/07
to
"mark carew" <mark...@magicwanddept.com.au> wrote in message
news:4oxkmvbhv8g4$.5x8sc2jiam53$.dlg@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...


Bjorn Sagbakken

unread,
Mar 11, 2007, 4:51:55 AM3/11/07
to
I thought the name was Hungarian Notation.

Bjorn

Juan T. Llibre

unread,
Mar 11, 2007, 9:22:04 AM3/11/07
to
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" <bjo...@online.no> wrote in message news:fOWdnS152-z...@telenor.com...

John Saunders

unread,
Mar 11, 2007, 6:41:21 PM3/11/07
to
"Control Freq" <ni...@nhthomas.freeserve.co.uk> wrote in message
news:1173562084.6...@c51g2000cwc.googlegroups.com...

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


Göran Andersson

unread,
Mar 11, 2007, 7:33:17 PM3/11/07
to

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

--
Göran Andersson
_____
http://www.guffa.com

John Saunders

unread,
Mar 11, 2007, 10:44:05 PM3/11/07
to
"Göran Andersson" <gu...@guffa.com> wrote in message
news:OetX0WDZ...@TK2MSFTNGP05.phx.gbl...

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

John


Göran Andersson

unread,
Mar 12, 2007, 12:35:29 AM3/12/07
to

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

Control Freq

unread,
Mar 12, 2007, 10:42:31 AM3/12/07
to
On 12 Mar, 02:44, "John Saunders" <john.saunders at trizetto.com>
wrote:
> "Göran Andersson" <g...@guffa.com> wrote in message

>
> news:OetX0WDZ...@TK2MSFTNGP05.phx.gbl...
>
>
>
>
>
> > John Saunders wrote:
> >> "Control Freq" <n...@nhthomas.freeserve.co.uk> wrote in message

> >>news:1173562084.6...@c51g2000cwc.googlegroups.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 -


JDC

unread,
Mar 12, 2007, 11:42:48 AM3/12/07
to
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

Mark Rae

unread,
Mar 12, 2007, 12:08:21 PM3/12/07
to
"JDC" <jeremy.d...@gmail.com> wrote in message
news:1173714168.4...@q40g2000cwq.googlegroups.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... :-)


Mike Hofer

unread,
Mar 12, 2007, 3:34:06 PM3/12/07
to

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

BillE

unread,
Mar 13, 2007, 4:00:20 PM3/13/07
to
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" <kchig...@gmail.com> wrote in message
news:1173728045.9...@q40g2000cwq.googlegroups.com...

Göran Andersson

unread,
Mar 13, 2007, 4:17:47 PM3/13/07
to
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.

John Saunders

unread,
Mar 13, 2007, 5:11:30 PM3/13/07
to

"BillE" <bel...@datamti.com> wrote in message
news:%239gj8oa...@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


0 new messages