Hi,
are there Application variables in ASP.NET? I want to store for all Users an Object which should be independent updated every 5 Minutes. But all users should always see last version of it. Any suggestions (C#)?
Hi,
are there Application variables in ASP.NET? I want to store for all Users an Object which should be independent updated every 5 Minutes. But all users should always see last version of it. Any suggestions (C#)?
You can store application-wide data in the ASP.NET Cache.
Add your item to the cache using the Cache.Insert method. Set the sliding expiration value to a TimeSpan of 5 minutes. Write a wrapper class for accessing the object in the cache. The wrapper class can provide a method to obtain the object from the cache. This method can check whether whether the item is in the cache and load it if it isn't.
For example:
public static class CacheHelper
{
public static MyObject Get()
{
MyObject obj = HttpRuntime.Cache.Get("myobject") as MyObject;
if (obj == null)
{
// Create the object to insert into the cache
obj = CreateObjectByWhateverMeansNecessary();
HttpRuntime.Cache.Insert("myobject", obj, null, DateTime.Now.AddMinutes(5), System.Web.Caching.Cache.NoSlidingExpiration);
}
return obj;
}
}
You can use the OutputCacheAttribute for the method in question. It has a duration property.