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

✨ Tired of the same old Windows Start Menu and Taskbar?

  ✨ Tired of the same old Windows Start Menu and Taskbar? In this video, I’ll show you how to completely customize your Windows experience ...