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

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

1 view
Skip to first unread message

Cramer

unread,
Apr 28, 2008, 12:58:30 PM4/28/08
to
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.

Matt MacDonald

unread,
Apr 28, 2008, 1:06:56 PM4/28/08
to
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

"Cramer" <A...@B.com> wrote in message
news:eTcrbEVq...@TK2MSFTNGP05.phx.gbl...

Arne Vajhøj

unread,
May 2, 2008, 8:15:28 PM5/2/08
to
Cramer wrote:
> 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


0 new messages