WebHosting

Wednesday, May 2, 2012

Caching Techniques in Sharepoint


public void ListItemCache()
{
   SPListItemCollection spListItemsObject;

   spListItemsObject = (SPListItemCollection)Cache["ListItemCacheName"];
   if(spListItemsObject == null)
   {
      spListItemsObject = DoQueryToReturnItems();
      Cache.Add("ListItemCacheName", spListItemsObject, ..);
   }
}




If you need thread safe code the try following :


private static object _lock =  new object();

public void CacheData()
{
   SPListItemCollection spListItemsObject;
       spListItemsObject = (SPListItemCollection)Cache["ListItemCacheName"];
      if(spListItemsObject == null)
      {
         lock (_lock)
         {
              // Ensure that the data was not loaded by a concurrent thread
              spListItemsObject = (SPListItemCollection)Cache["ListItemCacheName"];
              if (spListItemsObject == null)
              {
                   spListItemsObject = DoQueryToReturnItems();
                   Cache.Add("ListItemCacheName", spListItemsObject, ..);
              }
         }
     }
}


No comments:

Post a Comment

Thank you for Commenting Will reply soon ......

Featured Posts

How to Auto-Terminate Frozen and Hung Apps in Windows

We have all been there. You are in the middle of an important project or a gaming session, and suddenly, your screen freezes. The dreaded ...