I\'ve got an application that downloads data from a 3rd party at 3am every morning Nothing changes in terms of content until then...
is it possible to cache the \"produc
Yes you can cache it until then. There are many ways of doing this.
If you have a serverside call to retrieve the data then I would simply add this data to the cache when you first get it and set the expiration to be 3am the following day. Then on each page call check the cache for this data object and if it returns null, initiate another fetch of the data.
You can use page output cacheing too but this does not give you such detailed control.
something like this:
if (HttpContext.Current.Cache["MyData"] != null)
return HttpContext.Current.Cache["MyData"] as DataObjectClass
//Get data into dataobject
HttpContext.Current.Cache.Add(
"MyData",
DataObject,
DateTime (tomorrow 3am), // psuedo
null,
TimeSpan.Zero,
System.Web.Caching.CacheItemPriority.Normal,
null);
return DataObject;