RE: ASP.Net, caches, scope of statics

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Hi Mark,

Regarding on the ASP.NET Cache question you mentioned, here are some of my
understanding:

** ASP.NET Cache is per AppDomain based. Since each ASP.NET application is
scoped at AppDomain level(just like normal .net application), different
ASP.NET application instances(such as webfarm instances) can not share
Cache data.

** Sure, you can use some custom Class and Static member properties to
cache data instead of built-in Cache, the scope is the same(within the same
appdomain). However, the advantage of ASP.NET Cache is that it provide
multiple Cache Dependencies that can help you add auto-expire/invalidate
support. For example, you can use time based or data based cache dependency
so as to make a cache item be invalidated after a certain timespan (or a
certain database table is changed).

** If you have requirement to share data among webfarm server instances. I
think using database is still the preferred approach.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
msdnmg@xxxxxxxxxxxxxx

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.


--------------------
From: =?Utf-8?B?TWFyaw==?= <mmodrall@xxxxxxxxxxxxx>
Subject: ASP.Net, caches, scope of statics
Date: Wed, 16 Apr 2008 14:58:01 -0700

Hi...

At least by the group title, this seems like a question for
dotnet.framework.aspnet.caching but that group seems pretty slow.

I'm trying to sort things out with a co-worker. We've got some classes
that
implement some in-memory caches with static Hashtable members. My
understanding is that a static Hashtable may be shared between threads in
the worker process but that it won't span multiple worker processes.

I'm not sure about the System.Web.Caching.Cache class. You can't
instantiate one of your own, so I'm not sure if there's something buried
down
in the framework to make this work across processes in a garden.

Also not sure if you can achieve better sharing by putting a C# class in
the
Application scope (sorry if that's nonsensical; I haven't actually put
objects in application scope since classic asp).

Thanks
Mark



.



Relevant Pages

  • Re: iis 6.0 worker processes & cache object
    ... There can also be two appdomains inside of a single worker process, ... Each WP will have 1 appdomain which will have its own copy of Cache, ... >> They won't cross appdomain boundaries. ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Why is cache disappearing?
    ... sounds like there would happen more application restarts which essentially ... restart the appdomain (and clear cache). ... Teemu Keiski ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: fcntl(F GETLEASE) semantics??
    ... > can't place a read lease, but can place a write lease! ... that screws with the ability to cache data. ... and nobody else holds locks on the file. ...
    (Linux-Kernel)
  • RE: ASP.Net, caches, scope of statics
    ... Microsoft MSDN Online Support Lead ... Delighting our customers is our #1 priority. ... Regarding on the ASP.NET Cache question you mentioned, ... cache data instead of built-in Cache, the scope is the same(within the ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Outlook 2003 and Nickname List
    ... Thanks for your reply and understanding. ... You may have to reset the cached ... This posting is provided "AS IS" with no warranties, ...
    (microsoft.public.outlook.general)