Is this the right way to initialize a static cache object in a web service?
public class someclass{
private static Cache cache;
static someclass()
{
cache = HttpContext.Current.Cache;
}
}
More Info:
Seems like I receive more then one cache object from webservice. It creates a new request that only lasts for the duration of that call. If I move to a different machine, it creates a new request (and I think a webservice ) object that returns new cache. (because I can see two different caches being returned in the sniffer) By forcing it to be static I was hoping to have only one. However no avail. doesn't work.
From stackoverflow
-
This looks good to me - especially if you are going to wrap the
Current.Contextand expose properties for cache values like this:public static class CacheManager { public static Boolean Foo { get { return (Boolean)HttpContext.Current.Cache["Foo"] } set { HttpContext.Current.Cache["Foo"] = value; } } // etc... }You don't really need to create a private reference to the current cache unless you are only doing so to save on typing. Also notice that I made the class
staticas well. -
Why not just access it directly using
HTTPContext.Current.Cache?ra170 : Seems like I receive more then one cache object from webservice. it creates a new request that only lasts for the duration of that call. If I move to a different machine, it creates a new request (and I think a webservice ) object that returns new cache. By forcing it to be static I was hoping to have only one. However no avail.RichardOD : Then there is something wrong with your machine. Are you specifying timeout values for the items in cache? Does your machine have only a small amount of RAM?
0 comments:
Post a Comment