Some caching techniques in SharePoint 2010:-
1. Object Caching (Configurable)
2. BLOB Cache (Configurable) : Open web.config in SharePoint Root Hive:
<BlobCache location="D:\BLOB\" path="\.(gif|jpg|jpeg|jpe|jfif|bmp|dib|tif|tiff|ico|png|wdp|hdp|css|js|asf|avi|flv|m4v|mov|mp3|mp4|mpeg|mpg|rm|rmvb|wma|
wmv)$" maxSize="10" enabled="true" />
3. Caching in code (Programmable)
Important Links about Caching in SharePoint
http://msdn.microsoft.com/en-us/library/aa661294.aspx
http://msdn.microsoft.com/en-us/library/aa661294.aspx
http://msdn.microsoft.com/en-us/library/ms550239.aspx
http://msdn.microsoft.com/en-us/library/aa622758.aspx
http://technet.microsoft.com/en-us/library/cc770229.aspx
http://technet.microsoft.com/en-us/library/cc770229.aspx#BLOB
http://www.zimmergren.net/archive/2008/10/07/web-part-caching-%E2%80%93-a-simple-approach.aspx
http://msdn.microsoft.com/en-us/library/bb687949%28office.12%29.aspx#UsingSPData
http://technet.microsoft.com/en-us/library/ee424404.aspx#Section1c
Web Part Caching – A simple approach:-
Open Visual Studio2010 and select a WebPart form SharePoint 2010 Template:
using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using System.Collections.Generic;
namespace VisualWebPartProject1.VisualWebPart1
{
[ToolboxItemAttribute(false)]
public class VisualWebPart1 : WebPart
{
private const string _ascxPath = @"~/_CONTROLTEMPLATES/VisualWebPartProject1/VisualWebPart1/VisualWebPart1UserControl.ascx";
protected override void CreateChildControls()
{
Control control = Page.LoadControl(_ascxPath);
Controls.Add(control);
List<SPList> lists = new List<SPList>();
string status = "";
if (HttpRuntime.Cache["SimpleSampleCache"] == null)
{
status = "The following items are <strong>NOT</strong> fetched from the cache<br/><br/>";
SPWeb web = SPContext.Current.Web;
foreach (SPList list in web.Lists)
lists.Add(list);
HttpRuntime.Cache.Add("SimpleSampleCache",
lists,
null,
DateTime.MaxValue,
TimeSpan.FromMinutes(10),
System.Web.Caching.CacheItemPriority.Default, null);
}
else
{
status = "The following items <strong>ARE</strong> fetched from the cache!<br/><br/>";
lists = (List<SPList>)HttpRuntime.Cache["SimpleSampleCache"];
}
Controls.Add(new LiteralControl(status));
foreach (SPList l in lists)
Controls.Add(new LiteralControl(l.Title + " - " + l.ItemCount + " items<br/>"));
}
}
}
Press F5 and add WebPart to an WebPart Page and Show the Result as follows:-
Thank You.
1. Object Caching (Configurable)
2. BLOB Cache (Configurable) : Open web.config in SharePoint Root Hive:
<BlobCache location="D:\BLOB\" path="\.(gif|jpg|jpeg|jpe|jfif|bmp|dib|tif|tiff|ico|png|wdp|hdp|css|js|asf|avi|flv|m4v|mov|mp3|mp4|mpeg|mpg|rm|rmvb|wma|
wmv)$" maxSize="10" enabled="true" />
3. Caching in code (Programmable)
Important Links about Caching in SharePoint
http://msdn.microsoft.com/en-us/library/aa661294.aspx
http://msdn.microsoft.com/en-us/library/aa661294.aspx
http://msdn.microsoft.com/en-us/library/ms550239.aspx
http://msdn.microsoft.com/en-us/library/aa622758.aspx
http://technet.microsoft.com/en-us/library/cc770229.aspx
http://technet.microsoft.com/en-us/library/cc770229.aspx#BLOB
http://www.zimmergren.net/archive/2008/10/07/web-part-caching-%E2%80%93-a-simple-approach.aspx
http://msdn.microsoft.com/en-us/library/bb687949%28office.12%29.aspx#UsingSPData
http://technet.microsoft.com/en-us/library/ee424404.aspx#Section1c
Web Part Caching – A simple approach:-
Open Visual Studio2010 and select a WebPart form SharePoint 2010 Template:
using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using System.Collections.Generic;
namespace VisualWebPartProject1.VisualWebPart1
{
[ToolboxItemAttribute(false)]
public class VisualWebPart1 : WebPart
{
private const string _ascxPath = @"~/_CONTROLTEMPLATES/VisualWebPartProject1/VisualWebPart1/VisualWebPart1UserControl.ascx";
protected override void CreateChildControls()
{
Control control = Page.LoadControl(_ascxPath);
Controls.Add(control);
List<SPList> lists = new List<SPList>();
string status = "";
if (HttpRuntime.Cache["SimpleSampleCache"] == null)
{
status = "The following items are <strong>NOT</strong> fetched from the cache<br/><br/>";
SPWeb web = SPContext.Current.Web;
foreach (SPList list in web.Lists)
lists.Add(list);
HttpRuntime.Cache.Add("SimpleSampleCache",
lists,
null,
DateTime.MaxValue,
TimeSpan.FromMinutes(10),
System.Web.Caching.CacheItemPriority.Default, null);
}
else
{
status = "The following items <strong>ARE</strong> fetched from the cache!<br/><br/>";
lists = (List<SPList>)HttpRuntime.Cache["SimpleSampleCache"];
}
Controls.Add(new LiteralControl(status));
foreach (SPList l in lists)
Controls.Add(new LiteralControl(l.Title + " - " + l.ItemCount + " items<br/>"));
}
}
}
Press F5 and add WebPart to an WebPart Page and Show the Result as follows:-
Thank You.