Retrieve Value as it's Strong Type from Application or Session State

C

Cramer

Using ASP.NET 3.5...

As far as I know, any time we store a value in application or session state,
it is stored as a humble 'object' type rather than it's "real" type.

For example, if we want to store an integer value in Application state:
Application["MyInt"] = 93;

Then to retrieve that value, we would use something like this:
Convert.ToInt32(Application["MyInt"]);


My question:
Is there any way we can retrieve the value of "MyInt" as an integer -
without having to convert it first from 'object'?

I'm aware of extension methods - but what about "extension properties"? Or
am I missing something that should be obvious?

Thanks.
 
M

Matt MacDonald

Usually I make a "manager" class when using the session or application
state. Use properties in this class to retrieve the values in their
strongly typed forms. This way, not only will the types come through, but
you will also be able to access your stored values using intellisense.

For example (I use VB)

Private Shared _MyInt As String = "MyInt"

Shared Property MyInt() As Integer
Get
Return Current.Session(_MyInt)
End Get
Set(ByVal value As Integer)
Current.Session(_MyInt) = value
End Set
End Property

Hope this helps

Matt
 
A

Arne Vajhøj

Cramer said:
Using ASP.NET 3.5...

As far as I know, any time we store a value in application or session state,
it is stored as a humble 'object' type rather than it's "real" type.

For example, if we want to store an integer value in Application state:
Application["MyInt"] = 93;

Then to retrieve that value, we would use something like this:
Convert.ToInt32(Application["MyInt"]);

My question:
Is there any way we can retrieve the value of "MyInt" as an integer -
without having to convert it first from 'object'?

You do not need to convert it.

A cast should be fine.

int ival = (int)Application["MyInt"];

If you want type safeness, then I would recommend storing a
single object with multiple properties in Application.

Arne
 

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

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top